如何以编程方式安装nvm并安装/使用npm?

问题描述

SO ...

我创建了一些脚本来帮助配置我的shell,但是nvm出现了问题。我的脚本看起来像...

#!/bin/zsh
set -Eeuo pipefail

echo 'Installing nvm'
touch $HOME/.zshrc
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | zsh

echo 'Setting default'
echo 'stable' >  $HOME/.nvmrc

echo 'Installing default'
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

nvm install
nvm use

...但是我得到了...

N/A: version "stable -> N/A" is not yet installed.

You need to run "nvm install stable" to install it before using it.

...但是当我在终端上运行nvm install时,它可以正常工作。我尝试用eval(),$()包装nvm install,但似乎没有任何效果,我想念什么?任何帮助深表感谢!

解决方法

@ l3l_aze提供的答案!

set -E是shell脚本的罪魁祸首,所以我将脚本更改为...

#!/bin/zsh
set -euxo pipefail

...而且有效!