ChatGPT解决这个技术问题 Extra ChatGPT

如何使用 nvm 更改节点版本

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

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

https://i.stack.imgur.com/TnMpN.png

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

尝试在管理 cmd 中运行

D
Derviş Kayımbaşıoğlu

你需要使用

nvm use 8.10.0

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


我尝试使用 8.10.0,然后当我运行 node -v 它告诉我访问被拒绝,与任何节点命令相同
在提升权限的情况下使用它。以管理员身份运行 cmd
在 cmd.exe 中执行 where node 转到文件夹并尝试以提升的权限在那里执行。我相信这要么是权限问题,要么您可能有另一个 nvm 无法更改的节点安装。
管理员权限是否需要使其“坚持”?因为它在没有 root 的情况下运行良好,但是下次我打开 shell 时它会恢复到旧版本
@Michael tail -n2 ~/.bashrc nvm use v14.18.2 您可以将上述行添加到您的 .bashrc 中,并且每次登录都会在本地设置
A
Arseniy-II

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

nvm install 8.10.0

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

nvm use 8.10.0

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

nvm alias default 8.10.0

4) 附加信息

查看 nvm 文档以获取更多信息

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

https://i.stack.imgur.com/Pwkpq.png


S
Shubham Tiwari

切换到特定的 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 文件的内容并使用您指定的任何版本的节点。

如果自动发生这对您很重要,项目主页上有几个片段供您添加到您的 .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 文件的目录时,您的 shell 将自动更改 Node 版本。


我在构建服务器中安装了多个版本,不同的应用程序需要不同的版本,所以 nvm use x.xx 完成了这项工作
T
Tlotli Otlotleng

确保以管理员身份运行终端

nvm use <version> // this should work fine

没有特权,我收到了这个错误

nvm use 16.14.0 退出状态 5:访问被拒绝。


N
Nafiu Lawal

您需要编辑您的 .bachrc 文件。

将以下内容添加到该文件中。将版本更改为您的首选版本。此示例使用 v16.13.1。您可能在该文件中已经有类似的内容,这会导致更改回以前的版本。

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
export PATH="/home/zentech/.local/bin:/home/zentech/.nvm/versions/node/v14.18.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"