如何使用NVM更改节点版本

时间:2018-12-14 18:52:10

标签: node.js nvm

我正在使用yeoman创建一个项目,当我尝试使用gulp时,我运行了cmd:gulp serve,一个错误消息告诉我我需要旧版本的Node(8.9.4),知道我已经安装了最新版本(10.14.1)。

因此,我安装了nvm来更改节点版本,我不得不将其设置为路径C:\,然后运行成功:nvm install 8.9.4,当我尝试使用它时:nvm use 8.9.4 ,它始终是使用的最新版本

enter image description here

如果我尝试使用8.10.0,然后运行node -v,它告诉我访问被拒绝,与任何节点命令相同

3 个答案:

答案 0 :(得分:11)

1)安装 (可能需要root权限)

nvm install 8.10.0

2)每个终端只能使用一次 (可能需要root权限)

nvm use 8.10.0

3)设置所有终端的默认设置 (可能需要root权限)

nvm alias default 8.10.0

4)其他信息

  • 检查nvm documentation以获得更多信息

  • 此外,您可能需要为IDE指定节点版本:

enter image description here

答案 1 :(得分:1)

您需要使用

nvm use 8.10.0

请注意,您需要以管理员身份运行此命令

答案 2 :(得分:1)

切换到特定的Node.js版本

nvm use 8.10.0  

切换到最新的Node.js版本:

nvm use node  

切换到最新的LTS版本:

nvm use --lts  

您可以通过运行以下命令检查已安装的版本:

nvm ls  

绿色条目(左侧带有箭头)是当前使用的版本

根据每个项目指定节点版本

版本管理器(例如rbenv)使您可以基于每个项目指定Ruby版本(通过将该版本写入当前目录中的 .ruby-version 文件)。对于nvm来说,这是可能的,如果在项目内创建 .nvmrc 文件并指定版本号,则可以cd进入项目目录并键入nvm use。然后,nvm将读取 .nvmrc 文件的内容,并使用您指定的任何版本的Node。

如果自动完成对您来说很重要,则项目主页上的几段代码可以添加到您的 .bashrc .zshrc 文件中做到这一点。

这是 ZSH代码段。将其放在您的 nvm配置下面:

    autoload -U add-zsh-hook
load-nvmrc() {
  local node_version="$(nvm version)"
  local nvmrc_path="$(nvm_find_nvmrc)"

  if [ -n "$nvmrc_path" ]; then
    local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")

if [ "$nvmrc_node_version" = "N/A" ]; then
  nvm install
elif [ "$nvmrc_node_version" != "$node_version" ]; then
  nvm use
fi
  elif [ "$node_version" != "$(nvm version default)" ]; then
    echo "Reverting to nvm default version"
    nvm use default
  fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc  

当您使用 .nvmrc 文件切换到目录时,您的外壳将自动更改Node版本。

相关问题