node.js-本地安装时的无关软件包

我试图将phantomjs安装到npm install phantomjs -g Twitter Bootstrap。 我在本地安装npm install phantomjs后,它报告说该软件包是多余的。

├─┬ phantomjs@1.9.0-3 extraneous
│ ├── adm-zip@0.2.1
...
npm ERR! extraneous: phantomjs@1.9.0-3 /Users/admin/bootstrap/node_modules/phantomjs
npm ERR! not ok code 0

但是,在全球范围内安装phantomjs(即npm install phantomjs -g)时,它工作正常,即未报告无关的错误。

问题:

  1. 是否因为未在package.json文件中指定phantomjs?
  2. 一般问题:我们可以提供任何包裹吗? phantomjs是否在全球和本地安装?
moey asked 2019-10-08T10:35:12Z
2个解决方案
78 votes
  1. 是。 (使用npm install重新安装不会再次安装phantomjs。)(顺便说一句:npm install xxx --save将自动将xxx添加到package.json中)
  2. 是。 本地软件包版本优于全局软件包版本。 (尽管您需要对可执行文件进行一些路径处理。)
TheHippo answered 2019-10-08T10:35:31Z
9 votes
  1. phantomjs应该包含在本地.json包中(手动进行编辑或使用--save命令,请参见TheHippo的答案)。 如果它安装在某个地方,而您不需要它,请使用prune命令

    sudo npm install -g phantomjs

将删除所有不需要的软件包。

  1. 要在本地和全局安装项目,请使用:

    sudo npm install -g phantomjs

Jamil Abdallah answered 2019-10-08T10:36:20Z
translate from https://stackoverflow.com:/questions/16252750/extraneous-package-when-installed-locally