Npm “如何运行”;nvm";在;哦,我的zsh;?
系统中有一个通过Npm “如何运行”;nvm";在;哦,我的zsh;?,npm,terminal,oh-my-zsh,nvm,Npm,Terminal,Oh My Zsh,Nvm,系统中有一个通过nvm安装的nodejs。该命令未运行npm。 控制台是ohmyzsh您可以通过在~/.zshrc中添加以下行来使用或启用它 export NVM_DIR=~/.nvm [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" echo 'export NVM_DIR=~/.nvm' >> ~/.zshrc echo '[ -s "$NVM_DIR/nvm.sh" ] &&
nvm
安装的nodejs
。该命令未运行npm
。
控制台是ohmyzsh
您可以通过在~/.zshrc中添加以下行来使用或启用它
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
echo 'export NVM_DIR=~/.nvm' >> ~/.zshrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"' >> ~/.zshrc
额外:
为了更快地初始化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 $@
}
参考资料:我发现有一个随oh my zsh提供的nvm插件(这与lukechilds插件不同)。在简短的检查之后,我认为它在加载时添加了对
.zshrc
的必要修改,因此简单地将nvm
添加到.zshrc
中的插件列表中也应该可以(对我来说也是如此)
我没有通过谷歌找到关于默认nvm插件的更多详细信息,因此我不知道这是否是“转到”解决方案。从Bash切换到Oh My Zsh 如果您已经安装了
nvm
,并且正在从bash
切换到oh my zsh
,您只需打开.zshrc
文件,添加nvm
插件,该插件包含在oh my zsh
中:
.zshrc
:nano~/.zshrc
plugins=(git)
的位置,并在括号内添加nvm
,使其显示为plugins=(git-nvm)
(用空格分隔插件)control
+O
(在macOS上),然后按enter
,保存,然后按control
+X
退出nvm ls
以确认其工作。请注意,您必须为shell打开一个新窗口/选项卡,才能使用最新更新的.zshrc
配置(或输入source~/.zshrc
等)来源:一个更简单的解决方案是使用默认提供的: 它还自动为nvm提供源,因此您无需手动执行 在您的.zshrc中
git克隆https://github.com/nvm-sh/nvm.git ~/.nvm
cd~/.nvm&git checkout v0.35.1
(当前最新版本)nvm
添加到您的~/.zshrc
。例如:plugins=(…nvm)
# 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
使用自制软件安装nvm
brew安装nvm
保存文件
source$(brew--前缀nvm)/nvm.sh
nvm -v
享受它。这对我来说在Ubuntu 20.04上很有效 安装或更新nvm
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
添加你的~/.zshrc
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
echo 'export NVM_DIR=~/.nvm' >> ~/.zshrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"' >> ~/.zshrc
在当前shell环境中加载
source ~/.zshrc
检查nvm版本
nvm -v
谢谢你详细的回答。我认为改进这个答案的唯一方法是:添加一个标题(从Bash移动到zsh)并添加一些换行符谢谢@duichwer的建议。我刚刚做了这些编辑。这是正确的答案,请忽略其他lol。如果有人使用Vim进行开发,延迟加载会导致使用tsserver的自动完成失败,因为在路径中找不到tsserver。最好只使用即时加载IMHO。如果我将其添加到~/.zshrc,运行nvm时会得到“未找到命令”?我该如何使用它?确保你的.zshrc已经加载:你可以键入“lazy”,然后按Tab键查看ZSH自动完成是否显示你懒惰。如果没有,请检查您的shell配置或ZSH配置,以确保它正在加载
。zshrc
在撰写本文时使用oh my ZSH插件,添加nvm
作为插件对我在Mac上不起作用(不过,操作系统不应该是一个因素)。我仍然得到zsh:command-not-found:nvm
。我将尝试手动添加。我遇到了相同的问题。我可以知道你所说的手动添加是什么意思吗?source$(brew--前缀nvm)/nvm。我缺少的是sh
。谢谢谢谢,这解决了我的问题。很高兴我在重新安装之前尝试了这个。这真的帮助了我。谢谢