首页 > 解决方案 > npm install 与 npm ci:node-gyp 重建

问题描述

我正在尝试在node-alpinedocker 映像中构建节点应用程序。执行npm install成功,但是npm ci因为缺少python而没有成功。我知道 alpine 不提供 python,并且对于构建节点模块,完整的节点映像可能更适合,但我想了解为什么npm install没有同样的问题?

我已经通过以下步骤测试了上述观察结果。我启动了一个节点高山映像,当前目录安装到容器中并/bin/sh用作入口点:

docker run -it -v $PWD:/app --entrypoint=/bin/sh node:10.16.0-alpine

然后我跑了npm install哪个成功,然后npm ci哪个失败了。我想补充一点,npm install如果我先删除文件夹,执行也会成功node_modules

install我假设和之间的区别ci仅在于正在使用的版本,但似乎ci也试图运行node-gyp rebuild由于 alpine 图像中缺少 python 环境而失败,而install没有尝试运行node-gyp rebuild因此成功。

据我所知,这种行为没有记录在npm ci? 我错过了什么?

标签: node.jsnpm

解决方案


推荐阅读