有没有朋友在使用pm2时遇到__dirname的值不是当前项目路径而是root目录的?如何解决呢?

使用pm2管理node进程时,出现报错,说找不到目录。

Error: Failed to lookup view "500" in views directory "/root/views"

仔细排查之后,发现直接运行node index.js是可以的,没有任何问题。如果通过pm2启动应用,就会报错。服务器中的目录情况是root下面有个project文件夹,可是使用pm2启动之后__dirname应该是指向project,但是却指向了root根目录,就报错了。

有朋友遇到过这个问题吗?该如何解决呢?

谢谢。


已解决
删除进程再重新启动进程就可以解决啦。

pm2 delete 0
cd project
pm2 start index.js
阅读 5.3k
1 个回答

root 根目录别的用户没权限,看看pm2是哪个用户运行的。

  1. 把 project 移动到其它目录并确保权限和拥有者,

  2. 把 root 目录其它用户的 读权限打开,然后 project 也要有读

  3. 或者用 root 启动 Pm2

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题