npm 如何在“oh my zsh”中运行“nvm”?

eni9jsuy  于 2023-01-13  发布在  其他
关注(0)|答案(9)|浏览(164)

系统中有一个nodejs,通过nvm安装,命令没有运行npm,控制台为Oh my zsh

daupos2t

daupos2t1#

您可以使用zsh-nvm,也可以通过在~/.zshrc中添加以下行来自己启用它

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 $@
}

参考:Lazy load nvm for faster shell start

wlsrxk51

wlsrxk512#

    • 从巴什切换到我的天**

如果您已经安装了nvm,并且要从bash切换到oh-my-zsh,则只需打开.zshrc文件,然后添加oh-my-zsh附带的nvm插件:
1.使用以下命令在nano中打开zsh配置文件.zshrcnano ~/.zshrc
1.向下滚动到显示plugins=(git)的位置,在括号内添加nvm,使其显示为plugins=(git nvm)(用空格分隔插件)
1.按control + O(在macOS上),然后按enter保存,然后按control + X退出
1.然后打开一个新的终端窗口/选项卡,输入nvm ls确认它可以正常工作。注意你必须打开一个新的窗口/选项卡,你的shell才能使用最新更新的.zshrc配置(或者输入source ~/.zshrc,等等)。
来源:https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/nvm

vhmi4jdf

vhmi4jdf3#

这对我在Ubuntu 20.04上是有效的。
安装或更新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
cgvd09ve

cgvd09ve4#

使用自制程序来安装nvm

  1. brew install nvm
    1.编辑你的系统配置
vim ~/.zshrc     # or  vim ~/.bashrc
    export NVM_DIR=~/.nvm

esc〉:wq
保存文件
1.重新加载配置
source $(brew --prefix nvm)/nvm.sh
1.查看nvm版本

$ nvm --version
# 0.36.0

好好享受吧。

k5hmc34c

k5hmc34c5#

更简单的解决方案是使用默认提供的nvm plugin
它还自动获取nvm,因此您不需要在.zshrc中手动执行此操作

  1. git clone https://github.com/nvm-sh/nvm.git ~/.nvm
  2. cd ~/.nvm && git checkout v0.35.1(当前最新的release
    1.将nvm添加到您的~/.zshrc。例如:plugins=(... nvm)
xyhw6mcr

xyhw6mcr6#

我发现oh-my-zsh附带了一个nvm插件(与lukechilds插件不同),经过简短的检查,我认为它在加载时对.zshrc进行了必要的修改,所以简单地将nvm添加到.zshrc的插件列表中也应该可以(对我来说也是如此)。
我没有找到任何更多的细节,默认的nvm插件通过谷歌,所以我不知道这是否是“去”的解决方案。

pn9klfpd

pn9klfpd7#

将此代码添加到用户目录上的.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
watbbzwu

watbbzwu8#

使用Linux操作系统(Ubuntu 20.04、22.04和22.10)
使用您喜欢的编辑器,您可以编辑~/.zshrc

nano or vi ~/.zshrc

在文件的末尾,添加:

# NVM
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

然后你跑:

source ~/.zshrc
ccgok5k5

ccgok5k59#

我强烈建议使用christophemarois的方法来延迟加载nvm(节点、npm和全局包),以避免shell启动时间过慢:

# 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

相关问题