简述
今天测试环境的node服务启动报错,如下图
从Make sure you have the latest version of node.js and npm install.可以看出是没有找到node.js。看了下node.js安装目录,which node。最后看了下node环境变量(/etc/profile),发现环境变量和node.js的安装目录不一致,改完环境变量,source下。再次启动,还是报错,如下图
启动是用pm2管理,所以就用pm2的查看log命令看了下日志,pm2 logs如下图
解决办法
看到Error:spawn node ENOENT,猜想是不是node.js有问题,查看官方文档发现新版本已经解决node.js路劲不一致的bug()。在执行pm2 start index.js还是报错。
从日志是分析不出来什么问题了,就想想直接用node去跑服务看看能不能执行,结果成功了,所以就猜想是不是pm2本身的问题。
执行了下面的命令将所有node.js和pm2进程都杀掉了
ps -ux | grep pm2 (ps -ux | grep node)
找到对应的pid,然后
kill -9 pid
然后在执行 pm2 start index.js就成功启动了