【问题标题】:npm : Postinstall not running in dockernpm:后安装未在 docker 中运行
【发布时间】:2018-05-24 16:33:10
【问题描述】:

我有一个 npm 包(npm v 5.5.1,节点版本为 9.2.0)。如果我在本地机器上运行npm install,则执行 package.json 中定义的postinstall,但如果我在 Docker 文件中运行相同的命令RUN npm install,即当命令在容器内运行时,则postinstall 步骤不执行。任何输入可能是这里的问题?

【问题讨论】:

    标签: node.js docker npm


    【解决方案1】:

    所选答案的另一个选项: 您可以将此行添加到您的 dockerfile 以在容器内配置您的 npm 配置(从而允许执行安装后脚本):

    FROM ...
    RUN npm config set unsafe-perm true
    

    【讨论】:

      【解决方案2】:

      尝试使用--unsafe-perm 选项运行安装。以 root 身份运行时,npm 不会运行任何脚本。

      或者,在 Dockerfile 中创建一个用户并切换到该用户:

      FROM ...
      RUN groupadd -r app && useradd -r -g app app
      USER app
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-09-09
        • 1970-01-01
        • 1970-01-01
        • 2016-09-18
        • 2017-02-01
        • 1970-01-01
        • 2023-03-03
        相关资源
        最近更新 更多