centos electron-packager command not found

本文转载自:https://newsn.net/

centos操作系统下,苏南大叔尝试使用electron-packager打包electron程序的时候,发生了一个小插曲。那就是centos无法识别到全局安装的electron-packager命令,这个问题该如何解决呢?

npm安装的全局包,centos无法识别命令的解决方案

本文测试环境:centos/npm/node/electron-packager

现象描述

苏南大叔的centos系统中,调试electron打包后的效果,打包途径使用的是electron-packager,那么按照既往套路,就应该先利用npm安装一个全局的electron-packager,然后再调用对应命令即可完成。

npm i electron-packager -g

相关链接:

但是,全局安装electron-packager之后,试图执行electron-packager的时候,就发现了一个非常神奇的问题。

electron-packager .

提示如下:

electron-packager command not found

npm安装的全局包,centos无法识别命令的解决方案

问题虽然非常地奇特,但是解决方案也是比较容易,那就是设置环境变量PATH

寻找安装好的npm

使用whereis寻找安装好的npm包,比如electron-packager的位置。

whereis electron-packager

得到的electron-packager路径是:

electron-packager: /opt/node/bin/electron-packager

所以,初步可以判断是系统环境变量PATH,没有识别出路径/opt/node/bin/。在centos系统下,这个路径是npm全局包的位置。

获得当前PATH

可以在终端命令行里面,通过下面的方式获得环境变量PATH

echo $PATH

在苏南大叔centos系统下,返回值为:

/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/parallels/.local/bin:/home/parallels/bin

接下来,苏南大叔需要做的就是,将/opt/node/bin/叠加到上述PATH系统变量之中。每个人的系统变量值都是不一样的,请确认属于您自己的PATH系统变量,请不要复制粘贴!!

临时解决方案

大家都知道,在centos环境下的终端中,可以使用export命令临时设置PATH

export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/parallels/.local/bin:/home/parallels/bin:/opt/node/bin/

npm安装的全局包,centos无法识别命令的解决方案

这个方案仅仅是个临时方案,只针对当前会话有效,执行之后,就可以在终端中识别出electron-packager这个全局命令了。

永久解决方案(当前用户)推荐

这个方案也比较简单,就是修改centos的当前用户配置文件~/.bash_profile

vi ~/.bash_profile

在最后一行后面,增加识别新的路径/opt/node/bin/即可,注意分隔符是:

PATH=$PATH:$HOME/bin:/opt/node/bin/

export PATH

npm安装的全局包,centos无法识别命令的解决方案

source一下对应文件后,立即生效。

source ~/.bash_profile

永久解决方案(所有用户)

和上一条的思路基本一致,不同的是:编辑的文件变成了/etc/profile。这个配置文件是所有用户都生效的,但是,原版的末尾是没有类似的PATH语句的,需要全部自行添加。

PATH=$PATH:/opt/node/bin/

export PATH

npm安装的全局包,centos无法识别命令的解决方案

当然,为了不重启系统就生效的话,建议您source一下。

source /etc/profile

总结

无论使用哪种方式,正确设置了PATH之后,就可以正确识别出npm全局包命令了。

以上是 centos electron-packager command not found 的全部内容, 来源链接: utcz.com/a/118798.html

回到顶部