【问题标题】:Can't complete npm install when directing Docker to local NPM packages将 Docker 定向到本地 NPM 包时无法完成 npm 安装
【发布时间】:2017-11-08 21:36:28
【问题描述】:

我无法在任何地方找到这个问题的答案,所以我希望这里的人可能会遇到类似的问题。

我正在尝试将 NodeJS 应用程序容器化,但在 RUN npm install 期间遇到此错误:

npm 错误!无法像这样从“packages/example-package”安装 不包含 package.json 文件

有问题的包在我的应用程序的 package.json 中列为本地依赖项:

"dependencies": {
   "@example-name/example-package": "file:../example-package"   },

使用这些本地文件路径在 docker 之外运行 npm install 没有问题。

我尝试通过 Dockerfile 将包 package.json 文件复制到容器中,如下所示:

COPY ./packages/example-package/package.json ./packages/example-package

产生的错误是:

npm 错误!无法安装“包/示例包”,因为它不是 目录并且不是名称以 .tgz、.tar.gz 或 .tar

我不知道从这里去哪里!有什么建议吗?

【问题讨论】:

    标签: docker dockerfile npm-install


    【解决方案1】:

    您最终会得到一个名为 ./packages/example-package 的文件,其中包含 package.json 的内容,而不是目录。

    您可以通过暂时将文件/目录的cat 添加到您的Dockerfile 来确认这一点

    RUN cat ./packages/example-package 
    

    在目标路径的末尾使用/ 使其成为目录或指定文件的完整路径。

    COPY ./packages/example-package/package.json ./packages/example-package/
    
    COPY ./packages/example-package/package.json ./packages/example-package/package.json
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-12
      • 1970-01-01
      • 2015-08-31
      • 2020-09-06
      相关资源
      最近更新 更多