【问题标题】:Using specific version of local NPM dependency使用特定版本的本地 NPM 依赖项
【发布时间】:2018-07-29 09:55:19
【问题描述】:

我有一个本地包Foo,它的依赖定义如下(package.json):

{
  ...,
  "dependencies": {
    "foo": "file:../Foo"
  },
  ...
}

现在我想定义这个本地依赖的 特定 版本,例如"foo": "file:../Foo:0.1.0"。

这种语法不起作用,我在 NPM 的文档中找不到任何示例。使用"file:" -syntax 时 NPM 是否支持这一点?我正在使用 NPM v.5.6.0。

【问题讨论】:

  • 是的,它从 npm 2.0.0 版本开始支持文件语法。请从下面我的回答中查看其他选项。
  • 感谢您的回复。为了澄清我的问题,问题是 "file:" -syntax 是否支持声明想要的包版本,即它会从依赖项的 package.json 中检查是否有正确的版本,或者如果不满意则失败?
  • 文件基本上是本地包,尚未发布。

标签: node.js npm dependencies


【解决方案1】:

有几种方法:

  1. 链接包:https://docs.npmjs.com/cli/link

  2. 保存它

    npm install --save ../your-local-repo

  3. 在 Package.json

    中使用它

    或者这个:

    { “名称”:“巴兹”, “依赖”:{ “酒吧”:“文件:../foo/bar” } }

  4. lib-manager:https://www.npmjs.com/package/lib-manager

自动安装后

npm install lib-manager --save-dev

使用此模块的最佳方法是将应用程序的 node_modules.bin 文件夹中的 local-link 命令作为安装后脚本的一部分包含在主 package.json 中,如下所示:

{  
    "name": "myModule",  
    "version": "1.0.0",
    "description": "README",
    "main": "index.js",
    "scripts": {
        "postinstall": "./node_modules/.bin/local-link",
    "test": ""
     }
} 

希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    相关资源
    最近更新 更多