【问题标题】:Excluding NPM dependencies on a per-package basis基于每个包排除 NPM 依赖项
【发布时间】:2016-12-14 08:04:19
【问题描述】:

我的package.json 中有一个用于给定项目的包 (d3.js)。当为项目运行npm install 时,我希望 npm not 安装与 d3.js 本身相关的任何依赖项,也不为其运行任何安装脚本。换句话说,我希望 npm 只获取包并将其解包到 node_modules 中,以便它仍然可以作为常规包访问,但不对其进行任何其他操作。

我这样做的原因是这个特定包的常规npm install 需要运行node-gyp,而我必须使用的构建管道(不在我的控制之下)不支持任何类型的本机编译,因此安装失败。但是,该软件包已经包含预编译的.js 文件,这是我唯一感兴趣的内容,因此甚至不需要安装过程。

这真的可行吗?

【问题讨论】:

  • 要删除 NPM 安装的包,编辑 package.json 文件,即删除包含您不想安装的包的行。但是,安装某些模块将安装它所依赖的所有其他模块。
  • npm install 确实会下载软件包并将它们放入 node_modules 文件夹中。还要检查 package.json 文件中的特定命令或脚本。如果 scripts 键包含脚本的名称,则 npm 将运行该脚本。
  • 我当然可以通过不依赖包来避免这个问题。但是,我确实想依赖它——我只是不想运行任何与之关联的安装脚本。
  • 好吧,我无法读懂你的想法。阅读这些文档:docs.npmjs.com/files/package.jsondocs.npmjs.com/misc/scripts
  • 我确实知道 package.json 和相关脚本是如何工作的——我的问题是避免这些脚本在特定包的安装阶段运行。

标签: javascript node.js d3.js npm


【解决方案1】:

经过大量搜索,答案是。这似乎也不是 NPM 的计划功能,我也找不到 Yarn 提供的功能(我现在正在使用它)。

【讨论】:

    猜你喜欢
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 2020-07-28
    • 2016-04-29
    • 2016-08-13
    相关资源
    最近更新 更多