在 MAC 从站中运行的 jenkins shell 上的 nvm 初始化错误

问题描述

当我在 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