linux下npm安装的全局命令无法执行

npm install -g forever
安装了之后在其他目录无法执行,找不到命令,在windows下可以直接使用,在linux下需要配置下环境变量

npm prefix -g 该命令可以看到node全局环境的目录在哪里

环境变量配置(Linux)

Linux环境变量配置有三种:

当前用户当前shell有效。(临时环境变量,关闭即失效)
当前用户有效
所有用户均有效

(1) 临时环境变量

在shell中运行下列命令,$PATH:后跟想要加入环境变量的目录

export PATH=$PATH:/usr/nodejssoft/node-v10.9.0-linux-x64/bin
(2) 对当前用户有效

修改用户目录下的.bashrc文件
vi ~/.bashrc
在文件最后添加该语句

PATH=$PATH:/usr/nodejssoft/node-v10.9.0-linux-x64/bin

重新登录即生效

(3) 所有账户均有效

修改/etc/profile文件
sudo vi /etc/profile
在末尾添加以下内容

export PATH="$PATH:/usr/nodejssoft/node-v10.9.0-linux-x64/bin"    # 注意这个后面加了个/bin

退出当前shell再重新登录即可生效或执行source /etc/profile该命令

linux下npm安装的全局命令无法执行_第1张图片

使用forever让node.js持久运行

npm install forever -g   #安装
forever start app.js  #启动应用
forever stop app.js  #关闭应用
forever restartall  #重启所有应用

#输出日志和错误
forever start -l forever.log -o out.log -e err.log app.js   

# 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log
forever start -l forever.log app.js  

# 指定app.js中的日志信息和错误日志输出文件,  
# -o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log app.js 

# 追加日志,forever默认是不能覆盖上次的启动日志,  
# 所以如果第二次启动不加-a,则会不让运行  
forever start -l forever.log -a app.js

# 监听当前文件夹下的所有文件改动(不太建议这样)  
forever start -w app.js  

# 显示所有运行的服务 
forever list  

######停止操作

# 停止所有运行的node App  
forever stopall  
  
# 停止其中一个node App  
forever stop app.js  

# 当然还可以这样  
# forever list 找到对应的id,然后:  
forever stop [id]

# 开发环境下  
NODE_ENV=development forever start -l forever.log -e err.log -a app.js  
# 线上环境下  
NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js
#上面加上NODE_ENV为了让app.js辨认当前是什么环境用的

你可能感兴趣的:(linux,nodejs)