Node.js 需要构建的非缓存npm模块

Node.js 需要构建的非缓存npm模块,node.js,linux,ubuntu,npm,alpine,Node.js,Linux,Ubuntu,Npm,Alpine,我在linux上设置了一个自动构建,npm从不缓存需要节点gyp构建的包,例如bcrypt、zmq等-每次运行npm安装时,这些包都会从头开始构建,有什么建议吗 下面是一个在每个npm安装上运行的构建示例 > bcrypt@0.8.7 install /usr/local/bin/buildAgent/work/b6eb772ba309440a/node_modules/bcrypt > node-gyp rebuild make: Entering directory '/usr/

我在linux上设置了一个自动构建,npm从不缓存需要节点gyp构建的包,例如bcrypt、zmq等-每次运行
npm安装时,这些包都会从头开始构建,有什么建议吗

下面是一个在每个
npm安装上运行的构建示例

> bcrypt@0.8.7 install /usr/local/bin/buildAgent/work/b6eb772ba309440a/node_modules/bcrypt
> node-gyp rebuild
make: Entering directory '/usr/local/bin/buildAgent/work/b6eb772ba309440a/node_modules/bcrypt/build
CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o

我在ubuntu和alpine(docker内部版本)以及x86和arm上都有过类似的经历

您可以尝试
pnpm
warn
,我认为两者都可能有类似于这种缓存的选项。

据我所知,npm缓存只是用于缓存您将从npm注册表下载的包文件;它从不缓存构建工件。这就可以解释它了——如果是真的,我会把它标记为答案!任何变通方法都会很好,但它们都会在我的构建服务器上消亡——部分原因是由于私有repos和不使用我的.npmrc文件。不过,我怀疑我会得到更好的答案,等到其他人读到这篇文章时,他们的问题可能已经解决了。