npm устанавливает PATH для сценариев постинсталляции на Jenkins - PullRequest
0 голосов
/ 31 августа 2018

Мой проект JS использует пакет NPM под названием commitizen: https://github.com/commitizen/cz-cli

commitizen добавлено в мой devDependencies в файле package.json. commitizen внутренне использует пакет opencollective, как вы можете видеть здесь: https://github.com/commitizen/cz-cli/blob/master/package.json

commitizen на перехвате postinstall вызывает opencollective postinstall, который должен запускать opencollective двоичный пакет.

Локально у меня нет проблем с запуском ловушки postinstall, однако, когда я строю свой проект на своем блоке CI Jenkins, я получаю эту ошибку, когда он запускает ловушку postinstall пакета commitizen package

sh: 1: opencollective: not found

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! commitizen@2.10.1 postinstall: `opencollective postinstall`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the commitizen@2.10.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Я пытался добавить node_modules/opencollective/dist/bin dir к PATH, но безуспешно, я думаю, потому что псевдоним opencollective определен в opencollective package.json

Есть идеи, как запустить команду opencollective без глобальной установки opencollective пакета?

Спасибо!

...