也许这看起来很傻,但是当我which node
今天跑步时,它给了我完全不同的东西
/home/hearen/xxx/xxx/node-v0.10.28/bin/node
而不是像
/usr/local/bin/node
但是,当我运行时sudo which node
:
/usr/local/bin/node
我想知道这怎么会发生?
which command
找到命令的路径;/usr/local/bin/node
而不是当前奇怪的/home/hearen/xxx/xxx/node-v0.10.28/bin/node
?只需重置路径即可解决问题?sudo which node
给我正确的结果?我错过了什么?任何帮助将不胜感激 :)
$ nvm --version
0.33.0
$ nvm list
v6.6.0
v9.1.0
-> v10.10.0
system
default -> 6.6.0 (-> v6.6.0)
node -> stable (-> v10.10.0) (default)
stable -> 10.10 (-> v10.10.0) (default)
iojs -> N/A (default)
lts/* -> lts/dubnium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.16.0 (-> N/A)
lts/carbon -> v8.15.0 (-> N/A)
lts/dubnium -> v10.15.1 (-> N/A)
/home/hearen/.nvm/versions/node/v10.10.0/bin:/home/hearen/XXX/XXX/oracle-jdk-1.8.0_121/bin:/home/hearen/XXX/XXX/apache-maven-3.3.1/bin:/home/hearen/XXX/XXX/node-v0.10.28/bin:/home/hearen/XXX/XXX/node-v0.10.28/bin:/home/hearen/XXX/XXX/mysql-5.6.39/bin:/home/hearen/XXX/XXX/yosolo-0.0.1-SNAPSHOT:/opt/mozjpeg/bin:/home/hearen/XXX/XXX/git-lfs-2.4.0:/home/hearen/XXX/WorkSpace/Develop/bin:/home/hearen/bin:/usr/local/bin:/usr/bin:/bin:/sbin:/home/hearen/.local/bin:/opt/jdk1.8.0_144/bin:/home/hearen/XXX/XXX/oracle-jdk-1.8.0_121/bin:/home/hearen/XXX/XXX/apache-maven-3.3.1/bin:/home/hearen/XXX/XXX/node-v0.10.28/bin:/home/hearen/XXX/XXX/node-v0.10.28/bin:/home/hearen/XXX/XXX/mysql-5.6.39/bin:/home/hearen/XXX/XXX/yosolo-0.0.1-SNAPSHOT:/opt/mozjpeg/bin:/home/hearen/XXX/XXX/git-lfs-2.4.0:/home/hearen/XXX/WorkSpace/Develop/bin:/home/hearen/bin:/usr/local/bin:/usr/bin:/bin:/sbin:/home/hearen/bin:/home/hearen/.local/bin:/opt/jdk1.8.0_144/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
该方法的节点版本管理以及类似的软件包的工作是通过把副本的Node.js和一些包装脚本和/或符号链接在你的用户主目录秒(在~/.nvm
默认情况下),并在前面加上包含这些脚本的目录到你的PATH环境多变的。这通常是通过修改您的 shell 启动脚本(即~/.bashrc
或其他文件,取决于您选择的 shell 和当前配置)来完成的。
当您which node
使用sudo运行时它显示不同路径的原因是您很可能全局安装了node.js并且包含这些包装器脚本的目录没有添加到root用户的 PATH 环境变量中。
您可以通过比较以下命令的输出来确认这一点:
echo $PATH
和
sudo echo $PATH
要使用全局安装的 node 版本,您可以nvm.sh
从 shell 启动脚本中删除 source 的行(并注销并重新登录 - 这将永久禁用 nvm)或重置您的 PATH 环境变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句