我在ubuntu上。从ubuntu存储库安装节点,一切都很好。我试图安装的其中一个模块需要node-waf所以我从源安装了最新的不稳定节点。现在npm坏了。想要回到0.4节点稳定但是当我从源版本卸载时我遇到了问题。
sudo make uninstall
,成功)bash: /usr/local/bin/node: No such file or directory
如何让它停止在该路径中寻找节点? Ubuntu repo节点二进制文件仍然存在于/usr/bin/node
中。运行
cd /usr/bin ; ./node -v
工作并吐出v0.4.12。
运行
cd /usr/bin ; node
错误。
答案 0 :(得分:13)
bash(1)
shell将在第一次搜索PATH
环境变量中的目录时存储可执行文件的完整路径名。 (每次键入ls
或cat
时都不希望重复此搜索,这比查找表中的确切路径名要慢得多。)
此过程通常可以正常运行 - 直到您(重新)在PATH
中的目录之间移动可执行文件。
新炮弹不会有问题。现有shell将需要您运行hash -r
以从内置表中删除所有映射。 (好吧,您可以使用hash -d node
删除单个条目,但重新填充缓存并不可怕 - 每次启动shell时都会这样做 - 如果有多个程序现在丢失了删除它们将使您无法单独删除它们。)