#node.js #npm #electron #yarnpkg
#node.js #npm #electron #yarnpkg
Вопрос:
Я настраиваю бегун gitlab, который создает мой проект узла. Одна зависимость nodegit
— это то, что требуется 480 seconds
каждый раз, когда я создаю свое приложение.
$ electron-builder install-app-deps
• electron-builder version=22.9.1
• loaded configuration file=package.json ("build" field)
• rebuilding native dependencies dependencies=nodegit@0.27.0 platform=darwin arch=x64
• rebuilding native dependency name=nodegit version=0.27.0
Done in 480.36s.
Есть ли какой-либо способ кэшировать построение этих собственных зависимостей? Я нашел предварительную сборку, которая создала tar.gz
файл. Но я не уверен, как я могу заставить свой проект использовать этот конкретный готовый файл. Любая помощь высоко ценится!
Комментарии:
1. Рассмотрите возможность настройки кэша GitLab CI / CD в встроенном
node_modules
каталоге или в любом другом встроенном каталоге зависимостей.2. Спасибо! Это было бы значительным улучшением! Доступно ли решение, отличное от Gitlab, через
prebuild
?3. Судя по его описанию, это так. Однако документация не поддается быстрому объяснению — кажется неясным, как она взаимодействует
node_modules
. Большинство систем CI / CD поддерживают кэширование встроенных / извлеченных зависимостей, и локально они также будут кэшироваться. Я не особенно уверенprebuild
, что здесь это необходимо . Однако, если вам это нужноprebuild
, я бы рекомендовал обновить ваш вопрос, чтобы отразить его. Если вы предоставите более подробную информацию о вашей настройке GitLab CI / CD (идеально подходит репозиторий с минимальным воспроизведением), я могу попробовать оптимизировать время сборки.
Ответ №1:
Простой поиск в Google обнаружил зависимости кеша на веб-сайте GitLab CI / CD, на котором, похоже, есть именно то, что вы ищете. Который также может кэшироваться Node.js зависимости PHP, Go и Ruby между заданиями.
Ответ №2:
Этап предварительной сборки необходимо включить в фазу публикации зависимого модуля. Оно не должно выполняться потребителем модулей.