在系统中有一个nodejs
,通过nvm
安装。该命令未运行npm
。
控制台为Oh my zsh
答案 0 :(得分:44)
您可以使用zsh-nvm或通过在〜/ .zshrc中添加以下行来自行启用3>
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
<强>附加强>
为了更快地进行shell初始化,我使用lazynvm
只在需要时加载节点
lazynvm() {
unset -f nvm node npm
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
}
nvm() {
lazynvm
nvm $@
}
node() {
lazynvm
node $@
}
npm() {
lazynvm
npm $@
}
答案 1 :(得分:4)
我发现oh-my-zsh附带了一个nvm插件(与lukechilds插件不同)。经过短暂的检查,我认为它在加载时会对.zshrc
进行必要的修改,因此只需将nvm
添加到.zshrc
的插件列表中也可以(并且对我有用)。
我没有通过Google找到有关该默认nvm插件的更多详细信息,所以我不知道这是否是“首选”解决方案。
答案 2 :(得分:3)
如果您已经安装了nvm
,并且从bash
切换到oh-my-zsh
,则只需打开.zshrc
文件并添加nvm
oh-my-zsh
附带的插件。用.zshrc
打开nano ~/.zshrc
,向下滚动到显示plugins=(git)
的位置,然后添加nvm
,使其显示为plugins=(git nvm)
(用空格分隔新插件)。按control
+ O
(在MacOS上)保存,然后按control
+ X
退出。然后打开一个新的终端窗口/标签,并输入nvm ls
确认其有效。
来源:https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/nvm
答案 3 :(得分:3)
使用自制软件安装nvm
brew install nvm
编辑系统配置
vim ~/.zshrc # or vim ~/.bashrc
export NVM_DIR=~/.nvm
esc>:wq
保存文件
重新加载配置
source $(brew --prefix nvm)/nvm.sh
查看nvm版本
$ nvm --version
# 0.36.0
享受吧。
答案 4 :(得分:2)
安装或更新nvm
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
添加〜/ .zshrc
echo 'export NVM_DIR=~/.nvm' >> ~/.zshrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"' >> ~/.zshrc
在当前shell环境中加载
source ~/.zshrc
检查nvm版本
nvm -v
答案 5 :(得分:1)
我强烈建议使用UnsafeCell
,以避免启动时间太慢:
# Add every binary that requires nvm, npm or node to run to an array of node globals
NODE_GLOBALS=(`find ~/.nvm/versions/node -maxdepth 3 -type l -wholename '*/bin/*' | xargs -n1 basename | sort | uniq`)
NODE_GLOBALS+=("node")
NODE_GLOBALS+=("nvm")
# Lazy-loading nvm + npm on node globals call
load_nvm () {
export NVM_DIR=~/.nvm
[ -s "$(brew --prefix nvm)/nvm.sh" ] && . "$(brew --prefix nvm)/nvm.sh"
}
# Making node global trigger the lazy loading
for cmd in "${NODE_GLOBALS[@]}"; do
eval "${cmd}(){ unset -f ${NODE_GLOBALS}; load_nvm; ${cmd} \$@ }"
done
答案 6 :(得分:1)
将此代码添加到用户目录中的 .zshrc
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
然后在您的终端上运行此代码:
source ~/.zshrc
答案 7 :(得分:0)
一种更简单的解决方案是使用默认随附的nvm plugin:
它还会自动获取nvm,因此您无需手动进行操作 在您的.zshrc中
git clone https://github.com/nvm-sh/nvm.git ~/.nvm
cd ~/.nvm && git checkout v0.35.1
(当前最新的release)nvm
添加到您的~/.zshrc
中。例如:plugins=(... nvm)
答案 8 :(得分:0)
使用 Linux (Ubuntu 20.04)
用你最喜欢的编辑器编辑 ~/.zshrc
nano or vi ~/.zshrc
在文件末尾添加:
# NVM
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
然后你运行:
source ~/.zshrc