【问题标题】:npm install on modules not in node_modules/npm 安装在不在 node_modules/ 中的模块上
【发布时间】:2014-04-18 19:00:53
【问题描述】:

我正在构建一个项目,我想将其拆分为不同的模块。我知道我应该将模块放入node_modules/,但我想暂时将模块提交给主版本控制(我正在使用.gitignore 来忽略node_modules/ 目录)。

我目前的项目设置:

services/
services/service1/package.json
services/service1/index.js
services/service2/package.json
services/service2/index.js
node_modules/*
app.js
package.json

我的问题是它适用于相对 requires 但未加载 services/*/package.json 中的依赖项。仅加载主 package.json

这是一个好方法吗?有更好的吗?我可以运行什么命令来安装所有依赖项?这对我的 CI/CD 设置来说更成问题。

谢谢。

【问题讨论】:

  • 有些模块是特定于平台的,我不认为将它们置于版本控制之下是一个好主意。

标签: javascript node.js npm


【解决方案1】:

我在这里https://github.com/npm/npm/issues/4017 找到了类似的功能请求,看来你做不到

我看到的一种方法是创建从 node_modules 到您想要的服务的软链接并以某种方式维护它们

也许您可以为此使用 https://www.npmjs.org/doc/misc/npm-scripts.html postinstall 脚本?

【讨论】:

  • 我在想postinstall 中的自定义脚本会是一个好的开始,但我完全没有编写脚本。我找到了find . -name package.json -maxdepth 2 -execdir npm install \;,但无法按预期工作。
  • 我不擅长 bash 编程,我个人更喜欢 node/js 脚本(因为你有 npm,你可以从控制台运行 js 脚本,为什么不)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-08
  • 2011-11-07
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
  • 2013-03-11
相关资源
最近更新 更多