MacOS在本地使用了不同的NodeJS,如何查找和删除它们呢?

问题描述

我在Mac上切换NodeJS版本时遇到问题。我目前使用v12 NodeJS,并且想降级到v11,即使我尝试删除/usr/local/lib/node_modules/usr/local/bin/usr/local/sharenode -v中的节点文件文件夹,并打印v12.18.3

这些是版本:

# Below command print: v12.18.3
node -v
# Try switching using `n` tool
n 11.15.0
# No errors printed out,then verify
node -v
# still prints v12.18.3

我将此添加到了NODE_PATH中,但是它也没有起作用:

export NODE_PATH=/usr/local/bin

我尝试重新启动Shell终端,并且仍然相同。

如何完全删除节点?我不介意只要它能工作就重新安装。

如果我运行npm config list

; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.14.6 node/v12.18.3 darwin x64"

; userconfig /Users/jeemok/.npmrc
prefix = "/usr/local"

; builtin config undefined
prefix = "/usr/local"

; node bin location = /usr/local/Cellar/node@12/12.18.3/bin/node
; cwd = /Users/jeemok/tincode/admin-panel
; HOME = /Users/jeemok
; "npm config ls -l" to show all defaults.

node bin location有关系吗?如何将其更改为全局NodeJS?我可以简单地删除/usr/local/Cellar/node@12/文件夹吗?

注意:我已经尝试过:

解决方法

由于您已经在使用自制软件,因此建议您使用它来安装nodenv进行切换。

$ brew install nodenv
$ nodenv install 11.15.0

打开新外壳时,node将成为选择节点版本的垫片。

nodenv local将设置目录(项目)的版本。 shell用于此会话。 global是用户的默认设置。

$ nodenv shell 11.15.0
$ node --version
v11.15.0

您仍然可以选择所需节点的默认系统版本:

$ nodenv versions
  system
  8.17.0
  10.22.0
  11.15.0
  12.18.3
  14.7.0