package.json 的替代品,用于 npm(用于全局安装的包)

An alternative to package.json, for npm (for globally installed packages)

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

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

npm install -g -f global.json

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

文件名 package.json 实际上被硬编码到 npm 源代码中,您不能使用配置选项或命令行标志更改它。

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

如果你 search npm's repo,你会发现源代码和测试中有 100 多次提及直接引用字符串 package.json.

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

  1. 在 README 中清楚地说明这一点并在运行时检测它的存在(如果缺失则向用户打印一条友好的错误消息)
  2. 投入时间和精力使其与本地安装一起工作(主观偏好)