【发布时间】:2019-10-26 14:45:04
【问题描述】:
我正在尝试在管道中的 gitlab ci 作业中使用名为 install-nodejs.sh 的 shell 脚本文件安装 nodejs。安装成功,节点在 install-nodejs.sh 文件中显示版本,但是当我在 gitlab-ci.yml 文件中说 node -v 时它无法识别节点命令,我做错了什么?
我创建了一个 shell 脚本来安装 nodejs 并设置导出路径,但仍然无法识别节点
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
和我调用这个文件的 gitlab.yml 文件代码
test_install_nodejs:
<<: *default_job_template
stage: build
script:
- ./scripts/install-nodejs.sh
- node -v
- npm -v
- npm install -g newman
gitlab.yml 文件中的node -v 无法识别节点,但我可以从上面的shell 文件中看到节点安装成功。
【问题讨论】:
标签: linux shell docker gitlab-ci