为什么我的系统只在 /snap 中查找二进制文件?

为什么我的系统只在 /snap 中查找二进制文件?

我尝试使用 snap 来安装 node。该包已过时。因此,我snap remove尝试了它,并通过 nodesource PPA 中的 apt 安装了 node。太棒了:

$ node -v
v14.15.5

但是,当我尝试使用时npm,出现以下错误:

$ npm
bash: /snap/bin/npm: No such file or directory

这对我来说很奇怪,因为/usr/bin这是我的$PATH并且:

$ ls /usr/bin/npm
/usr/bin/npm

snap 对我的系统查找二进制文件的正常方法有什么影响$PATH

此外,我该如何解决这个问题?

答案1

一旦找到二进制文件,shell 不会继续搜索它——在大多数情况下,这样做会浪费时间。它会缓存结果。不过,如果你最终删除了一个二进制文件,而它已经在找到它的地方缓存了它,那么这会带来很大的麻烦。

您可以通过简单地启动一个新 shell 或者使用 清除现有 shell 中的缓存来解决此问题hash -r

相关内容