Hi, I have a multibranch pipeline using jenkinsfile for build configuration. My build jobs fail with the error : + npm ci /tmp/jenkins-38307429/workspace/..../script.sh: 1: npm: not found
If I manually SSH to my agents and run source /var/lib/jenkins/.nvm/nvm.sh
and then check the npm, nvm, and NodeJS they are the actual versions I want, and they seem to be working fine. I’ve attempted several approaches in my jenkinsfile to address this issue, but none seem to be effective.
withEnv(["NVM_DIR=/var/lib/jenkins/.nvm", "PATH+NODEJS=${NVM_DIR}/versions/node/v16.20.1/bin"])
sh 'export NVM_DIR=/var/lib/jenkins/.nvm && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && nvm use v16.20.1'
sh 'export PATH=${NVM_DIR}/versions/node/v16.20.1/bin:$PATH'
The relevant part of my jenkinsfile :
script {
// Set nvm-related environment variables and initialize nvm
withEnv(["NVM_DIR=/var/lib/jenkins/.nvm", "PATH+NODEJS=${NVM_DIR}/versions/node/v16.20.1/bin"]) {
sh 'export NVM_DIR=/var/lib/jenkins/.nvm && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && nvm use v16.20.1'
sh 'export PATH=${NVM_DIR}/versions/node/v16.20.1/bin:$PATH'
echo "Stage running on build node: ${env.NODE_NAME}"
// Run the frontend tests
sh 'env'
sh 'npm ci'
sh 'npm test'
}
Jenkins setup:
Jenkins: 2.426.1
OS: Linux - 6.2.0-1016-aws
Java: 11.0.5 - Amazon.com Inc. (OpenJDK 64-Bit Server VM)
ant:497.v94e7d9fffa_b_9
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
authentication-tokens:1.53.v1c90fd9191a_b_
aws-credentials:218.v1b_e9466ec5da_
aws-java-sdk:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-cloudformation:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-codebuild:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-ec2:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-ecr:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-ecs:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-efs:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-elasticbeanstalk:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-iam:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-kinesis:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-logs:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-minimal:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-secretsmanager:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-sns:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-sqs:1.12.586-413.v6a_6c3a_420126
aws-java-sdk-ssm:1.12.586-413.v6a_6c3a_420126
aws-secrets-manager-credentials-provider:1.213.vca_3f37306fed
blueocean:1.27.9
blueocean-bitbucket-pipeline:1.27.9
blueocean-commons:1.27.9
blueocean-config:1.27.9
blueocean-core-js:1.27.9
blueocean-dashboard:1.27.9
blueocean-display-url:2.4.2
blueocean-events:1.27.9
blueocean-git-pipeline:1.27.9
blueocean-github-pipeline:1.27.9
blueocean-i18n:1.27.9
blueocean-jwt:1.27.9
blueocean-personalization:1.27.9
blueocean-pipeline-api-impl:1.27.9
blueocean-pipeline-editor:1.27.9
blueocean-pipeline-scm-api:1.27.9
blueocean-rest:1.27.9
blueocean-rest-impl:1.27.9
blueocean-web:1.27.9
bootstrap5-api:5.3.2-2
bouncycastle-api:2.29
branch-api:2.1135.v8de8e7899051
build-timeout:1.31
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.0.2
cloudbees-bitbucket-branch-source:856.v04c46c86f911
cloudbees-folder:6.858.v898218f3609d
commons-lang3-api:3.13.0-62.v7d18e55f51e2
commons-text-api:1.11.0-94.v3e1f4a_926e49
configuration-as-code:1738.v2d8b_a_b_8a_54b_1
credentials:1309.v8835d63eb_d8a_
credentials-binding:642.v737c34dea_6c2
display-url-api:2.200.vb_9327d658781
durable-task:523.va_a_22cf15d5e0
ec2-fleet:3.1.0
echarts-api:5.4.3-1
favorite:2.4.3
font-awesome-api:6.4.2-1
git:5.2.1
git-client:4.5.0
github:1.37.3.1
github-api:1.316-451.v15738eef3414
github-branch-source:1751.v90e17c48a_6a_c
handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953
htmlpublisher:1.32
instance-identity:185.v303dc7c645f9
ionicons-api:56.v1b_1c8c49374e
jackson2-api:2.15.3-372.v309620682326
jakarta-activation-api:2.0.1-3
jakarta-mail-api:2.0.1-3
javax-activation-api:1.2.0-6
javax-mail-api:1.6.2-9
jaxb:2.3.9-1
jenkins-design-language:1.27.9
jjwt-api:0.11.5-77.v646c772fddb_0
job-dsl:1.87
jquery3-api:3.7.1-1
junit:1240.vf9529b_881428
mailer:463.vedf8358e006b_
matrix-auth:3.2.1
matrix-project:818.v7eb_e657db_924
mina-sshd-api-common:2.11.0-86.v836f585d47fa_
mina-sshd-api-core:2.11.0-86.v836f585d47fa_
okhttp-api:4.11.0-157.v6852a_a_fa_ec11
pipeline-build-step:516.v8ee60a_81c5b_9
pipeline-github-lib:42.v0739460cda_c4
pipeline-graph-analysis:202.va_d268e64deb_3
pipeline-groovy-lib:689.veec561a_dee13
pipeline-input-step:477.v339683a_8d55e
pipeline-milestone-step:111.v449306f708b_7
pipeline-model-api:2.2151.ve32c9d209a_3f
pipeline-model-definition:2.2151.ve32c9d209a_3f
pipeline-model-extensions:2.2151.ve32c9d209a_3f
pipeline-rest-api:2.34
pipeline-stage-step:305.ve96d0205c1c6
pipeline-stage-tags-metadata:2.2151.ve32c9d209a_3f
pipeline-stage-view:2.34
plain-credentials:143.v1b_df8b_d3b_e48
plugin-util-api:3.6.0
prism-api:1.29.0-9
pubsub-light:1.18
scm-api:683.vb_16722fb_b_80b_
script-security:1281.v22fb_899df1a_e
slack:684.v833089650554
snakeyaml-api:2.2-111.vc6598e30cc65
sse-gateway:1.26
ssh-credentials:308.ve4497b_ccd8f4
ssh-slaves:2.916.vd17b_43357ce4
sshd:3.303.vefc7119b_ec23
strict-crumb-issuer:2.1.1
structs:325.vcb_307d2a_2782
timestamper:1.26
token-macro:384.vf35b_f26814ec
trilead-api:2.84.v72119de229b_7
variant:60.v7290fc0eb_b_cd
workflow-aggregator:596.v8c21c963d92d
workflow-api:1283.v99c10937efcb_
workflow-basic-steps:1042.ve7b_140c4a_e0c
workflow-cps:3806.va_3a_6988277b_2
workflow-durable-task-step:1289.v4d3e7b_01546b_
workflow-job:1360.vc6700e3136f5
workflow-multibranch:756.v891d88f2cd46
workflow-scm-step:415.v434365564324
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:865.v43e78cc44e0d