简述

今天测试环境的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(https://github.com/Unitech/pm...)。在执行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就成功启动了

本文固定链接: http://www.js-code.com/node-js/node-js_34632.html