我正在使用 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
它告诉我访问被拒绝,与任何节点命令相同
你需要使用
nvm use 8.10.0
请注意,您需要以管理员身份运行此命令
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
切换到特定的 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 <version> // this should work fine
没有特权,我收到了这个错误
nvm use 16.14.0 退出状态 5:访问被拒绝。
您需要编辑您的 .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"
where node
转到文件夹并尝试以提升的权限在那里执行。我相信这要么是权限问题,要么您可能有另一个 nvm 无法更改的节点安装。tail -n2 ~/.bashrc nvm use v14.18.2
您可以将上述行添加到您的 .bashrc 中,并且每次登录都会在本地设置