我正在尝试使用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将节点安装到了不同的位置。有办法解决这个问题吗?提前感谢
N没有安装到/bin
,因此二进制文件的位置发生了更改
tl;博士:
重置$PATH
:PATH="$PATH"
什么
在*NIX系统上,有许多二进制位置:/bin
、/usr/bin
、/usr/local/bin
,甚至如果配置了/home/USER/.local/bin
。
为什么
所有的二进制文件夹使组织起来更容易。
n
为什么要更改位置
当然是为了保持标准。/usr[/local]/bin
是包安装二进制文件的传统位置。
为什么我的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"