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

760
Views
Nodo y npm no se reconocen después de instalarse desde el script de shell en gitlab ci

Estoy tratando de instalar nodejs usando un archivo de script de shell llamado install-nodejs.sh en el trabajo de gitlab ci en proceso. La instalación es exitosa y el nodo muestra la versión dentro del archivo install-nodejs.sh pero cuando digo node -v en el archivo gitlab-ci.yml no reconoce el comando del nodo, ¿qué estoy haciendo mal?

Creé un script de shell para instalar nodejs y configurar la ruta de exportación, pero aún no se reconoce el nodo

código de archivo install-nodejs.sh

 #!/usr/bin/env bash set -e command -v node > /dev/null | NOT_INSTALLED=1 if [[ "$NOT_INSTALLED" != "1" ]] then mkdir /usr/local/nvm NVM_DIR="/usr/local/nvm" NODE_VERSION="10.12.0" NVM_INSTALL_PATH="$NVM_DIR/versions/node/v$NODE_VERSION" rm /bin/sh && ln -s /bin/bash /bin/sh curl --silent -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash source ~/.nvm/nvm.sh nvm install $NODE_VERSION nvm alias default $NODE_VERSION nvm use default export NODE_PATH="$NVM_INSTALL_PATH/lib/node_modules" export PATH="$NVM_INSTALL_PATH/bin:$PATH" fi

y código de archivo gitlab.yml donde estoy llamando a este archivo

 test_install_nodejs: <<: *default_job_template stage: build script: - ./scripts/install-nodejs.sh - node -v - npm -v - npm install -g newman

node -v en el archivo gitlab.yml no reconoce el nodo, pero puedo ver que la instalación del nodo es exitosa desde el archivo de shell anterior.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

El nodo no se encuentra en el archivo gitlab.yml porque las variables que ha definido en su script de instalación no están disponibles allí. Puede verlo usted mismo llamando a echo $PATH justo después ./scripts/install-nodejs.sh . Verá que PATH no contiene $NVM_INSTALL_PATH/bin .

La razón es que la export exporta las variables al proceso secundario, no al principal. Consulte Bash: la exportación no pasa las variables correctamente al padre .

Puede hacer que estén disponibles en el archivo gitlab.yml usando source :

 test_install_nodejs: <<: *default_job_template stage: build script: - source ./scripts/install-nodejs.sh - node -v - npm -v - npm install -g newman

Tenga en cuenta que asumo que install-nodejs.sh es exactamente el que ha mostrado y no termina con exit (de lo contrario, el script yml terminará justo después de la fuente).

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!