问题描述
当我在 Mac 从机上运行的 Jenkins shell 上运行命令 source $HOME/.zshrc
时,我在 nvm 初始化中收到以下错误:
nvm_err 'N/A: version "N/A -> N/A" is not yet installed.
nvm_err 'You need to run "nvm install N/A" to install it before using it.'
该错误不会发生在本地机器上,只会发生在 jenkins shell 上。崩溃的 .zshrc
的内容是这样的:
# 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
然而,这是推荐初始化 nvm 的脚本,它是在 nvm 安装时自动添加的。任何人都知道可能导致此问题的原因是什么?
解决方法
我发现这个 article 可以解决这个问题。这对我有用。在简历中,我只需设置属性 +ex
即可让 shell 暂时忽略即时错误:
set +ex
source $HOME/.zshrc
set -ex