0

我正在尝试使用n安装/切换节点版本,因为不同的构建需要不同版本的节点。n 能够下载指定的版本,但无法安装到 /usr/bin/node 并且仍然是旧版本。

05-Apr-2021 11:46:27       installed : v10.16.0 to /usr/local/bin/node
05-Apr-2021 11:46:27          active : v8.16.1 at /bin/node

当我运行 node --version 命令时,它显然会返回旧版本 8.16.1,n 已将节点安装到不同的位置。有没有办法解决这个问题?先感谢您

4

1 回答 1

1

N 未安装到/bin,因此二进制文件的位置已更改。

tl;博士:

重置$PATHPATH="$PATH"

什么?

在 *NIX 系统上,有许多二进制位置:/bin/usr/bin/usr/local/bin或即使已/home/USER/.local/bin配置。

为什么?

所有二进制文件夹使组织更容易。

为什么n换了位置?

当然,要符合标准。/usr[/local]/bin是安装软件包的二进制文件的传统位置。

为什么我的 shell 没有看到新的二进制文件?

Shell 使用“哈希表”,因此它们不需要$PATH一遍又一遍地查看 - 等等,什么是$PATH

是什么PATH

PATH 是一个:- 分隔的位置列表,用于查找要执行的二进制文件。例如,我的看起来像这样:/usr/local/opt/coreutils/libexec/gnubin:/home/badboyhalocat/node_installs/bin:/home/badboyhalocat/.config/yarn/global/node_modules/.bin:/home/badboyhalocat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

shell 使用它来查找在哪里可以找到要运行的代码。

解决这个问题

只需重置您的路径:PATH="$PATH"

于 2021-04-05T17:40:13.827 回答