npm install总是用于本地包而不是远程包

时间:2017-09-22 09:47:31

标签: npm-install

我创建了项目my-npm-lib并使用npm发布了它。

现在我有另一个我想做的项目:

npm install my-npm-lib --save

但如果我这样做,它总是会增加依赖关系:

"dependencies": {
  "my-npm-lib": "file:..\\my-npm-lib"
}
  

这实际上是正确的,因为我在我执行此操作的设备上有my-npm-lib项目。

但这是我不想要的。后来在我的新项目中,我使用了webpack,我需要这样做:

include: [
    path.resolve(__dirname, "src"),
    path.resolve(__dirname, "node_modules/my-npm-lib")
],

其中

  1. 现在是不可能的,因为模块不在node_modules中,
  2. 不允许我与其他员工正确分享新项目,因为package.json文件中的路径错误。
  3. 到目前为止,我已尝试使用

    手动重写package.json
    "dependencies": {
      "my-npm-lib": "^1.0.0"
    }
    

    然后使用npm install,但它没有安装此特定模块。

      

    PS:我很确定my-npm-lib正在使用npm,因为它正在使用其他设备。似乎只有正在开发my-npm-lib的设备存在问题。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,

确保package.json依赖项具有正确的结构,

使用npm install my-npm-lib --save

然后将"file:..\\my-npm-lib"重写为"^1.0.0"

删除package-lock.json!,(这是缺失的部分)

再次施放npm install