对于npm(对于全局安装的包),package.json的替代方法

时间:2015-01-08 09:29:16

标签: node.js npm

我有一个标准的package.json文件,用于我的项目正在使用的软件包列表。

我还需要安装一些全局包。我想将它们列在global.json配置文件中,而不是手动执行,以便我可以这样做:

npm install -g -f global.json

但是npm似乎不存在-f标志?是否可以指定替代依赖性列表,而不是标准package.json

1 个答案:

答案 0 :(得分:4)

文件名package.json实际上已硬编码为npm源代码,您无法使用配置选项或命令行标志更改它。

虽然这不是开发人员验证的原因,但我怀疑不允许这样做的原因是它会破坏依赖项解析。如果程序包A将其 package.json 重命名为 myapp.json ,并且程序包B指定A作为其依赖项,则npm将无法读取和安装A的依赖项(或任何元信息,因为非标准的 package.json 的名字。

如果您search npm's repo,您会在源代码和测试中找到多个直接引用字符串 package.json 的提及。

PS。如果您的应用程序需要全局安装npm模块,您应该

  1. 在README中清楚地说明这一点,并在运行时检测它的存在(如果缺少,则向用户输出一条很好的错误消息)
  2. 投入时间和精力使其适用于本地安装(主观偏好)