usrbinnpm "和 "usrlocalbinnpm "之间的区别联系。

问题描述 投票:0回答:1

今天,在Centos7中,我卸载了 nodejsnpm 然后通过以下方式安装 Linux二进制文件(x64).

解压后,然后将其移动到 /usr/local/nodejs. 为了使它成为全局的,我配置软链接如下。

#ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
#ln -s /usr/local/nodejs/bin/node /usr/local/bin/

让我困惑的是:

#nodejs -v

OK. 但是,但是,下面的命令。

#npm -v

出现了一个错误,说找不到这个命令。

尝试了一些方法。

在...

#ln -s /usr/local/nodejs/bin/npm /usr/bin/
#npm -v

这个命令运行正常。是什么原因使之不同?

感谢任何建议。

shell centos7
1个回答
0
投票

如果你使用的是bash,你在你的主页上有一个文件,叫做 .bash_profile. 这个命令运行一组命令来配置你的bash环境。

同时, 所有的 .sh 内的文件 /etc/profile.d 在你执行的每个会话中都会被执行。

所以,在这些脚本里面,我们有一个环境变量,叫做 PATH,设置在bash启动时。

如果你尝试做 echo $PATH,你会看到一组用冒号分隔的目录。:.

每当你尝试运行一个命令时,bash会检查这个目录内设置的所有目录。$PATH 变量。

如果你的调用没有找到,我们可以得到两个假设。

  1. 你的文件或链接所在的路径不包含在... $PATH dir.

  2. 你的文件不能执行(需要进行以下操作)。chmod).

所以,检查你的 $PATH 看看你的命令是否链接到了正确的位置,是否有一个有效的文件,最后,执行权限是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.