Некэширующие модули npm, требующие сборки

У меня есть автоматическая сборка, настроенная на Linux, которая никогда не кэширует пакеты npm, которым нужны сборки node-gyp, например. bcrypt, zmq и т. д. - каждый раз, когда запускается npm install, эти пакеты снова создаются с нуля, какие-либо предложения?

Вот пример сборки, которая повторно запускается каждые npm install

> [email protected] 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 (в сборках докеров), как на x86, так и на ARM.


person nite    schedule 24.01.2017    source источник
comment
Насколько я знаю, кеш npm предназначен только для кэширования файлов пакетов, которые вы загружаете из реестра NPM; он никогда не кэширует артефакты сборки.   -  person Jacob    schedule 25.01.2017
comment
Это объяснило бы это - я бы отметил это как ответ, если это правда! Любые обходные пути были бы хороши, хотя   -  person nite    schedule 25.01.2017


Ответы (1)


Вы можете попробовать pnpm или yarn, я думаю, у обоих может быть такая опция кэширования.

person Jason Livesay    schedule 25.01.2017
comment
Хорошо, когда они работают, но оба умирают на моем сервере сборки — отчасти из-за частных репозиториев и отсутствия использования моего файла .npmrc. Сомневаюсь, что я получу гораздо лучший ответ, и к тому времени, когда кто-то еще прочитает это, их проблемы могут быть решены. - person nite; 26.01.2017