При запуске 'npm install' в контейнере Jenkins Docker я получаю следующие ошибки:
[INFO] --- exec-maven-plugin:1.6.0:exec (npm install) @ geosolutions ---
npm WARN tar ENOENT: no such file or directory, open '/var/jenkins_home/workspace/aproject2/node_modules/.staging/schema-utils-bdceae78/package.json'
npm WARN tar ENOENT: no such file or directory, open '/var/jenkins_home/workspace/aproject2/node_modules/.staging/schema-utils-bdceae78/README.md'
...(and many lines like) ...
npm WARN tar ENOENT: no such file or directory, futime
npm WARN tar ENOENT: no such file or directory, futime
npm WARN tar ENOENT: no such file or directory, futime
npm WARN tar ENOENT: no such file or directory, futime
Узлы-модули не генерируются. Только несколько в node_modules / .staging.
При входе в контейнер Jenkins Docker я могу это исправить, выполнив вручную:
- rm -rf node_modules
- rm -f package-lock.json
- установка в минуту
В следующий раз, когда мне придется пропустить шаг 'npm install', начните прямо с 'ng build'. Тогда все работает хорошо. Конечно, это не достойный обходной путь. Следовательно, это НЕ дубликат вопроса.
Как мне сделать хорошую установку 'npm'?
В моем контейнере Jenkins есть установка Node / Npm. Npm - 6,5, а узел - 8, 9, 10 или 11. Все с самым новым npm 6,5.
Мое изображение Jenkins содержит этот код для добавления к нему npm / nodejs:
RUN apt-get install -y curl \
&& curl -sL https://deb.nodesource.com/setup_9.x | bash - \
&& apt-get install -y nodejs \
&& curl -L https://www.npmjs.com/install.sh | sh
Обновление: Сегодня у меня была такая же проблема в офисе. Два разных Jenkinsjobs запускают одну и ту же задачу Maven с помощью 'npm install'. Один в порядке, другой нет. Один Jenkinsjob запускается через многоотраслевой, другой как обычный конвейер. Хм, очень странно.
Я думаю, что это связано с операционной средой, поэтому $ PATH, переменные среды и т. Д.