npm:后安装未在 docker 中运行
Posted
技术标签:
【中文标题】npm:后安装未在 docker 中运行【英文标题】:npm : Postinstall not running in 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
步骤不执行。任何输入可能是这里的问题?
【问题讨论】:
【参考方案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
【讨论】:
以上是关于npm:后安装未在 docker 中运行的主要内容,如果未能解决你的问题,请参考以下文章