Плагин Jenkins NodeJS: не может выполнить 'узел'
При использовании инструмента NodeJS на ведомом устройстве, для которого настроен глобальный пакет, выдается следующая ошибка:
env: can't execute 'node': No such file or directory
Если сборка выполняется на исполнителе в master, ошибки не возникает, и пакет устанавливается должным образом.
Я использую плагин kubernetes с jenkins/jnlp-slave:3.27-1
как рабский образ.
Дженкинс Версия: 2.164.2
Плагин Kubernetes: 1.14.9
Плагин NodeJS: 1.2.9
Примечание: это не дубликат Jenkins - env: 'node': нет такого файла или каталога, так как я не использую альпийское изображение, так как это была проблема в этом вопросе.
0 ответов
Та же проблема с моим Дженкинсом.
Программа установки "скачать с nodejs.org" извлекает пакет узла в локальный каталог.
Затем он запустит "npm install -g" для каждого из пакетов, перечисленных в поле "Глобальные пакеты npm для установки" в конфигурации установщика NodeJS ("Глобальная конфигурация инструмента").
Однако он делает это перед установкой системного PATH в каталог, в котором он извлек node, поэтому npm не найдет node.
Я убежден, что это ошибка в плагине NodeJS Jenkins. Как сказал Agusluc, вы можете создать собственный образ jnlp-slave (что я и сделал) или сообщить об ошибке разработчику плагина и надеяться, что она будет исправлена.