[英]GitLab CI/CD shell executor: npm command not found
在我的服務器上,我已將 gitlab 運行器配置為使用shell
執行器。 which node
命令給出: /home/ubuntu/.nvm/versions/node/v14.11.0/bin/node
。
所以,我的 gitlab-ci.yml 文件有以下內容:
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/
prepare
工作拋出npm: command not found
錯誤,管道失敗。 如何解決這個問題?
您可以在script:
步驟,在npm
命令行之前:
- echo "PATH='${PATH}'"
這樣,您可以檢查路徑是否實際被修改。
嘗試添加引號:
- export PATH="$PATH:/home/ubuntu/.nvm/versions/node/v14.11.0/bin"
Shell 執行器使用.profile
加載環境。 您可以通過將其添加到 gitlab-runners $HOME/.profile
使 gitlab-runner 使用 nvm :
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
通過在gitlab-runner user
的.profile
中添加。 它適用於 ubuntu 20.04
env
執行器使用.profile
加載環境。 您可以通過將其添加到gitlab-runners $HOME/.profile
來讓gitlab-runner
使用nvm
:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.