【问题标题】:Extraneous Package when Installed Locally本地安装时的无关软件包
【发布时间】:2016-10-07 10:32:41
【问题描述】:

我试图安装 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

但是,当 phantomjs 被全局安装时,即npm install phantomjs -g,它运行良好,即没有报告无关的错误。

问题:

  1. 是因为phantomjsnot specified in the package.json file吗?
  2. 一般问题:我们可以有任何包裹吗? phantomjs 安装在全局和本地?

【问题讨论】:

  • extraneous: not forming a necessary part of something... 是我自己还是奇怪你需要的包是“无关的”?

标签: node.js twitter-bootstrap npm


【解决方案1】:
  1. 是的。 (使用npm install 重新安装不会再次安装phantom.js。)(顺便说一句:npm install xxx --save 会自动将 xxx 添加到 package.json)
  2. 是的。本地包版本优于全局包版本。 (尽管您需要对可执行文件进行一些路径处理。)

【讨论】:

  • 使用 -save-dev 将其保存为开发者依赖项
  • @VincentDeSmet 应该是 --save-dev-D 作为简写,你在开头错过了一个破折号。
  • 为什么本地优先于全球
  • @dsdsdsdsd 因为您可能拥有同一个包的不同版本,具体取决于您正在处理的项目。
【解决方案2】:
  1. phantomjs 应该包含在您的本地 .json 包中(手动编辑它或使用 --save 命令查看 TheHippo 的答案)。如果它安装在某个地方并且您不需要它,请使用 prune 命令

    npm prune

将删除所有不需要的包。

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

    sudo npm install -g phantomjs

【讨论】:

    猜你喜欢
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 2021-06-15
    • 2017-11-02
    • 2020-05-15
    相关资源
    最近更新 更多