找不到模块“express” - Plesk 上的 Node.js 安装,由 Phusion Passenger 管理

时间:2021-03-17 11:52:36

标签: node.js passenger plesk

我在共享服务器上的一个域上启用了 node.js。所有管理操作都是从 Plesk Obsidian 18.0.20 的控制台完成的。我看到Plesk是通过Phusion Passenger 6.0.6管理nodejs的。

我无法创建快速服务器。我的 nodejs 应用程序启动失败并显示以下消息:

The Phusion Passenger application server tried to start the web application through 
a Passenger-internal helper tool called the "wrapper". 
But Passenger was unable to execute that helper tool because it encountered 
an internal error.

The stdout/stderr output of the subprocess so far is:

......./loader.js:xxx
    throw err;
    ^

Error: Cannot find module 'express'
Require stack:
- ......../server.js
- ...../passenger/helper-scripts/node-loader.js
.....
.....

我的 server.js 文件的第一行包含指令:

const express = require('express');

我知道我应该访问正在运行的 nodejs 环境并发出命令:

npm install express

但我不知道如何做,无论是从 Plesk 控制台还是从我用户的腻子窗口。

1 个答案:

答案 0 :(得分:2)

我设法解决了这个问题。问题的根源在于 Plesk 期望 package.json 文件位于域根目录中。相反,它位于子目录中。

我后来还发现了这个教程:https://www.plesk.com/blog/product-technology/node-js-plesk-onyx/