node.js - NodeJs在docker中离线开发

标签 node.js docker offline

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

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

  • npm 打包我的项目依赖项,存储在源代码中,但这不会存储我的依赖项的依赖项
  • 将node_modules存储在源代码中,将其复制到容器并运行npm重建,但它doesn't actually trigger a rebuild
  • 运行npm install --no-registry,因此它会触发重建,但不会尝试调用,但它实际上无论如何都会调用公共(public)注册表
  • 我见过的其他解决方案,例如 Node-PAC似乎被遗弃了
  • npmbox 看起来最有前途,但它要求它全局安装在目标上,这可以在我可以构建但不能在生产环境中运行的容器中运行,除非我们开始在生产环境中部署容器。

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

最佳答案

另一个选项是设置一个私有(private) npm 存储库并将其配置为缓存公共(public)存储库。有多种选项可以实现此目的,我建议尝试 Nexus:https://www.sonatype.com/nexus-repository-oss

关于node.js - NodeJs在docker中离线开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44837432/

相关文章:

python - Docker容器和虚拟python环境

node.js - 如何在没有 Internet 连接的机器上安装 Node.js 模块?

从 Jade 文件调用时,Javascript 脚本将文档中的所有 id 引用为未定义

c++ - 不向 socket.io nodejs(服务器)发送数据 socket.io c++(客户端)

javascript - 在 Node 和浏览器中使用 require.js 模块

docker - 为什么在使用多个 Docker 主机时出现 Unable to create container with image Unable to pull image 错误 pulling image?

docker - GCP : Unable to pull docker images from our GCP private container registry on ubuntu/debian VM instances

Highcharts 无需互联网即可导出

django - 使用 Docker 创建 Django 应用程序的离线版本

node.js - Mongoose - 填充删除了空引用?