' npm install'通过另一个npm脚本执行会影响package.json'依赖关系'名单

时间:2018-01-13 01:52:29

标签: node.js npm package.json

说,我们package.json有一个脚本,应该在我们之前已经构建和打包的本地安装一些包:

{
  "name": "test-local-npm-install",
  "version": "0.0.0",
  "scripts": {
    "pack-package": "npm pack ./dist",
    "install-package": "npm install my-package-0.0.0.tgz"
  },
  "dependencies": {
  }
}

当我执行npm run install-package时,正在正确安装软件包,我可以在./node_modules/my-package中看到它。但是npm也会影响我的package.json,它会将该包添加到dependencies列表中:

{
  "name": "test-local-npm-install",
  "version": "0.0.0",
  "scripts": {
    "pack-package": "npm pack ./dist",
    "install-package": "npm install my-package-0.0.0.tgz"
  },
  "dependencies": {
    "my-package": "file:my-package-0.0.0.tgz"
  }
}

我想知道为什么?没有--save / --save-dev标志......如何防止这种行为?我需要将其安装在node_modules中,但我不希望将其添加到package.json

1 个答案:

答案 0 :(得分:1)

时间过得很快...自从npm 5发布(2017年)以来,默认行为已更改。每current documentation

  

npm install 默认情况下将所有指定的包保存到依赖关系

要解决此问题,需要使用--no-save选项调用:

  

此外,您可以控制一些人保​​存的地点和方式   额外的旗帜:
  ......    - no-save :防止保存为依赖项。

相关问题