vscode dev 容器是否应该运行 npm install 作为其设置的一部分?

Mat*_*ner 8 visual-studio-code vscode-remote

我已经为我的项目创建了一个 VS Code开发容器。为了帮助新贡献者开始,开发容器 Dockerfile 应该运行吗npm install

Del*_*gan 8

npm install作为开发容器配置的一部分进行调用实际上是一个很好的做法。它简化并加速了开发环境的设置,确保开箱即用,不会遗漏额外的步骤。

请注意, 必须npm install位于postCreateCommand来源 和package.json可用的地方(与 相反Dockerfile)。

由于docker和的性质,命令失败并需要调试的devcontainer原因很少。npm install如果发生这种情况,VSCode 日志将提供有意义的信息,否则postCreateCommand可以快速禁用它们以调查问题。

存在官方 VSCode 视频,因此我们可以假设npm install作为开发设置的一部分进行调用是一种常见做法:如何在开发容器中自动运行 npm install


Mat*_*ner 3

不可以。开发容器定义开发环境,不应执行属于正常开发工作流程一部分的操作(例如运行npm install)。

有几个原因npm install特别应该避免:

  • 如果您在开发容器 Dockerfile 中运行npm install并且失败,则开发容器将无法启动。如果开发人员能够成功打开开发容器,然后npm install在可以调查潜在故障的环境中运行,那就更好了

  • npm install当项目的依赖关系发生变化时必须重新运行。npm install作为开发容器设置的一部分运行可以向开发人员隐藏这一点。

开发容器应该只用于npm install安装不属于项目的package.json.

  • 所以你回答了你自己的问题,很好!感谢您的撰写。您能否提供您在回答中收集的信息的来源? (3认同)