我正在使用yeoman创建一个项目,当我尝试使用gulp时,我运行了cmd:gulp serve
,一个错误消息告诉我我需要旧版本的Node(8.9.4),知道我已经安装了最新版本(10.14.1)。
因此,我安装了nvm来更改节点版本,我不得不将其设置为路径C:\
,然后运行成功:nvm install 8.9.4
,当我尝试使用它时:nvm use 8.9.4
,它始终是使用的最新版本
如果我尝试使用8.10.0,然后运行node -v
,它告诉我访问被拒绝,与任何节点命令相同
答案 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指定节点版本:
答案 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版本。