在 Docker 中安装 npm 后访问 node_modules

Accessing node_modules after npm install inside Docker

我 运行宁 Docker 与 Docker Mac 合 Mac。我成功地设置了一些容器并在其中 运行 npm install,如 here 所述。这会在图像和容器内安装 node_modules,但它们在主机上不可用,即我的 IDE 抱怨缺少 node_modules.

我错过了什么吗? 运行 在容器内安装 npm 但能够在主机上进行开发(使用这些依赖项)的最佳方法是什么?

来自我的 docker-compose.yml:

  volumes:
    - /Users/andre/IdeaProjects/app:/home/app
    - /home/app/node_modules

由于您使用的是 boot2docker,因此只有 Max 主机文件夹 /Users/ 已安装并可从 boot2docker 主机访问。

这意味着您需要将 /home/app/node_modules 映射到以 /Users 开头的 Mac 主机路径,才能在您的 Mac 主机上看到所述模块。

volumes:
    - /Users/andre/IdeaProjects/app:/home/app
    - /Users/andre/node_modules:/home/app/node_modules

您将无法在主机上访问容器内的 node_modules 文件夹。不建议将此文件夹绑定到您的主机文件夹 node_modules,因为这会在构建图像时引起问题。

一种廉价的解决方案是使用名为 "Remote-Containers" 的 Visual Studio 代码扩展。此扩展程序将允许您将 Visual Studio 代码附加到您的容器,并在您的容器文件夹中透明地编辑文件。为此,它将在您的开发容器中安装一个内部 vscode 服务器。有关更多信息,请查看 this link.

但是,请确保您的卷仍然在 docker-compose.yml 文件中创建。

希望对您有所帮助:D!