首页 > 解决方案 > 节点版本不会使用 n 更新

问题描述

为了提供一些背景信息,我使用这篇 Medium 帖子设置我的机器,不要使用sudo... npmstill

我在brew大约一年半前安装了 Node,它安装了 v12.18.1。我n当时也使用安装brew,但直到现在才需要更改版本。

我的.zshrc文件包括以下内容:

# For globally installed npm packages (without using sudo)
export PATH="$HOME/.npm/bin:$PATH"

# Path to n (managing node versions)
export N_PREFIX="$HOME/.n"
export PATH="$PATH:$N_PREFIX/bin"

当我安装 Node v14 时n,会发生以下情况:

➜  ~ node -v
v12.18.1
➜  ~ n 14
   installed : v14.15.4 to /Users/myusername/.n/bin/node
      active : v12.18.1 at /usr/local/bin/node
➜  ~ node -v
v12.18.1

我看到版本安装成功;但是,活动版本不会更新。我注意到已安装版本的路径明显不同于活动版本(上面的参考终端输出),我怀疑这是问题所在。

任何帮助将不胜感激!先感谢您。


附加信息:当我最初安装 Node 时,yarn尽管顶部链接的文章指出它应该是不可用的,但我n使用brew. 为了进行故障排除,我运行了brew uninstall n,但是输出了以下内容:

Warning: The following may be n configuration files and have not been removed!
If desired, remove them manually with `rm -rf`:
  /usr/local/etc/bash_completion.d

于是我跑了rm -rf /usr/local/etc/bash_completion.d。之后没有打印到终端。

标签: node.jshomebrewyarnpkgn

解决方案


问题是您已node安装到两个位置,而正在安装的位置是变量n中的最后一个。PATH

出于兴趣,您可以运行n doctor它,它应该会解决这个问题。

您可以卸载安装到的节点副本/usr/local/bin/node,或重新排列您的PATH. 代替:

export PATH="$PATH:$N_PREFIX/bin"

尝试:

export PATH="$N_PREFIX/bin:$PATH"

推荐阅读