Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

987
Views
GitLab CI/CD shell executor: npm command not found

On my server, I have configured the gitlab runner to use the shell executor. And which node command gives: /home/ubuntu/.nvm/versions/node/v14.11.0/bin/node.

So, my gitlab-ci.yml file has the following:

stages:
  - prepare
  - check
  - deploy

default:
  before_script:
    - export PATH=$PATH:/home/ubuntu/.nvm/versions/node/v14.11.0/bin

prepare:
  stage: prepare
  only:
    refs:
      - dev
  before_script:
    - export PATH=$PATH:/home/ubuntu/.nvm/versions/node/v14.11.0/bin
  script:
    - npm i --ignore-scripts --include=dev
  cache:
    key: $CI_COMMIT_BRANCH
    paths:
      - node_modules/

The prepare job, throws npm: command not found error, and the pipeline fails. How to resolve this issue?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

You can add to your script: step, before the npm command line:

- echo "PATH='${PATH}'"

That way, you can check if the path is actually modified.

Try adding quotes:

- export PATH="$PATH:/home/ubuntu/.nvm/versions/node/v14.11.0/bin"
over 4 years ago · Santiago Trujillo Report

0

Shell executor uses .profile to load env. You can make gitlab-runner use nvm by adding this to gitlab-runners $HOME/.profile:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!