Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell “之间的区别和联系”/usr/bin/npm“;及/usr/local/bin/npm“;_Shell_Centos7 - Fatal编程技术网

Shell “之间的区别和联系”/usr/bin/npm“;及/usr/local/bin/npm“;

Shell “之间的区别和联系”/usr/bin/npm“;及/usr/local/bin/npm“;,shell,centos7,Shell,Centos7,今天,在Centos7中,我卸载了nodejs和npm,然后通过安装 解压后,将其移动到/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 嗯。但是,但是,下面的命令: #npm -v 带来命令找不到的错误 尝试一些方法: 之后 #ln

今天,在Centos7中,我卸载了
nodejs
npm
,然后通过安装

解压后,将其移动到
/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
嗯。但是,但是,下面的命令:

#npm -v
带来命令找不到的错误

尝试一些方法:

之后

#ln -s /usr/local/nodejs/bin/npm /usr/bin/
#npm -v
此命令运行正常。有什么不同


任何建议都将不胜感激。

如果您正在使用bash,您的家中有一个名为
.bash\u profile
的文件。此命令运行一组命令来配置bash环境

此外,
/etc/profile.d
中的所有
.sh
文件都在您执行的每个会话上执行

因此,在这些脚本中,我们有一个名为
PATH
的环境变量,它是在bash start上设置的

如果您尝试执行echo$PATH,您将看到一组以冒号分隔的目录

每次尝试运行命令时,bash都会检查此
$PATH
变量中设置的所有目录

如果找不到您的电话,我们可以得到两个:

  • 您的文件或链接所在的路径不包含在
    $path
    目录中

  • 您的文件不可执行(需要执行
    chmod


  • 因此,检查您的
    $PATH
    ,查看您的命令是否链接到正确的位置,是否有有效的文件,最后检查执行权限是否有效。

    看起来
    /usr/bin
    在您的路径中(应该是这样),而
    /usr/local/bin
    没有。
    哪个节点告诉您什么?我没有检查它。但是重新安装之后。nodejs-v,它向我展示了它的最新版本。运行
    nodejs-v
    不会告诉你正在执行哪个
    nodejs
    ,而只是告诉你shell正在调用哪个可执行文件的版本。请尝试
    哪个nodejs
    键入nodejs
    ,以确定正在执行哪个可执行文件和/或函数。谢谢您的回答。但是为什么nodejs-v是好的,npm-v是错的?它们都链接到/usr/local/bin路径?!尝试检查链接是否指向运行ls
    /usr/local/bin/npm
    的有效文件。检查符号链接是否指向存在的文件。另外,检查是否可以从
    /usr/loca/nodejs/bin/npm
    运行
    npm
    命令。确定。我现在无法连接office server,我将稍后再试。再次感谢,我再试了一次。链接到/usr/local/bin/npm也可以。也谢谢你的解释。