本地安装时无关的包

moe*_*oey 60 node.js npm twitter-bootstrap

我试图安装phantomjs以便make test 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
Run Code Online (Sandbox Code Playgroud)

然而,当全局安装phantomjsnpm install phantomjs -g,它工作正常,即没有报告任何无关错误.

问题:

  1. 是因为package.json文件中没有指定phantomjs 吗?
  2. 一般问题:我们是否可以在全球和本地安装任何软件包,例如phantomjs

The*_*ppo 78

  1. 是.(重新npm install安装时不要再安装phantom.js.)(顺便说一句:npm install xxx --save将自动添加xxx到package.json)
  2. 是.本地软件包版本优先于全局版本.(尽管您需要对可执行文件进行一些路径处理.)

  • @VincentDeSmet应该是`--save-dev`或`-D`作为速记,你在开头错过了一个破折号. (3认同)
  • @dsdsdsdsd因为您可以拥有相同软件包的不同版本,具体取决于您正在处理的项目. (3认同)
  • 使用-save-dev将其保存为开发人员依赖项 (2认同)

小智 9

  1. phantomjs应该包含在你的本地.json包中(手动编辑它或使用--save命令参见TheHippo的答案).如果它安装在某个地方并且您不需要它,请使用prune命令

    npm prune

将删除所有不需要的包.

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

    sudo npm install -g phantomjs