【问题标题】:NPM Install add custom warning messageNPM 安装添加自定义警告消息
【发布时间】:2017-10-25 21:04:19
【问题描述】:

当用户尝试安装给定版本的库时,我应该如何添加警告消息?

例如,当您安装 babel-preset-es2015 时,您会收到以下警告:

????感谢您使用 Babel:我们建议现在使用 babel-preset-env:请阅读 babeljs.io/env 进行更新!

通过检查他们的代码,我看到他们在 package.json 中添加了一个deprecated 条目,如下所示:

"deprecated": "????  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! ",

我可以很容易地添加它,但我实际上并没有弃用任何东西。我只是想警告用户他们正在安装 alpha 版本,并且 API 中可能会有更改。

问题

是否有与deprecated 类似的条目可以完成这项工作?

【问题讨论】:

    标签: node.js npm warnings npm-install


    【解决方案1】:

    不一定有办法可以做到这一点,或者没有给定字段,如"deprecated"

    您可以做的是添加一个安装后script,如果您将版本标记为 alpha,它将向控制台输出一个字符串。

    // package.json
    {
      "version": "1.2.3-alpha.2",
      "scripts": {
        "postinstall": "node postinstall.js"
      }
    }
    
    // postinstall.js
    const package = require('./package.json')
    
    if (package.version.includes('alpha')) {
      console.log('You are using an alpha version. Beware!')
    }
    

    【讨论】:

      【解决方案2】:

      请查看以下内容:

      $ npm deprecate <pkg>[@<version>] <message>
      

      例子:

      $ npm deprecate some-lib@"< 1.0.0" "? Thanks for using it. we recommend using new version, 1.x.x. Please check out https://example.com"
      

      那么,

      $ yarn
      yarn install v1.16.0
      info No lockfile found.
      [1/4] ?  Resolving packages...
      warning some-lib@0.1.5: ? Thanks for using it. we recommend using new version, 1.x.x. Please check out https://example.com
      [2/4] ?  Fetching packages...
      [3/4] ?  Linking dependencies...
      [4/4] ?  Building fresh packages...
      success Saved lockfile.
      ✨  Done in 5.25s.
      Time: 0h:00m:06s
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-14
        • 1970-01-01
        • 2022-10-16
        • 1970-01-01
        • 2012-03-19
        • 2021-09-07
        相关资源
        最近更新 更多