NodeJs在docker中离线开发

时间:2017-06-30 01:53:33

标签: node.js docker offline

我尝试使用docker实现开发人员工作流程,并且可以离线开发(例如,当您在具有不同依赖关系的分支之间切换时,不必运行npm install

最直观的方法是将依赖项存储在源代码管理中。这有其自身的问题,尤其是在使用编译依赖项的模块时。我已经尝试了几乎所有我能想到的东西并找到了:

  • npm pack我的项目依赖项,存储在源代码中,但这并不存储我的依赖项'依赖
  • 在源代码中存储node_modules,将其复制到容器并运行npm rebuild,但doesn't actually trigger a rebuild
  • 正在运行npm install --no-registry,因此触发重建,但不会尝试呼叫,但它实际上会调用公共注册表
  • 我看到的其他解决方案Node-PAC似乎已被遗弃
  • npmbox看起来最有希望,但它要求它全局安装在目标上,除非我们开始在生产中部署容器,否则它将在我可以构建但不能生产的容器中工作。

这是徒劳无功的努力吗?缺乏网络访问是很少见的,只有在安装新模块或在具有不同依赖关系的修订版之间移动时才真正需要

1 个答案:

答案 0 :(得分:1)

另一种选择是设置私有npm存储库并将其配置为缓存公共存储库。有几种方法可以实现这一点,我建议尝试使用Nexus:https://www.sonatype.com/nexus-repository-oss