与乘客一起解决这个问题

问题描述

http://nodejs-resume.developmentserver.me/

网站加载时,

/usr/local/dh/passenger/helper-scripts/node-loader.js:37
GLOBAL.PhusionPassenger = exports.PhusionPassenger = new EventEmitter();
^

ReferenceError: GLOBAL is not defined
    at Object.<anonymous> (/usr/local/dh/passenger/helper-scripts/node-loader.js:37:1)
    at Module._compile (node:internal/modules/cjs/loader:1108:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
    at Module.load (node:internal/modules/cjs/loader:973:32)
    at Function.Module._load (node:internal/modules/cjs/loader:813:14)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
    at node:internal/main/run_main_module:17:47

我已经修改了我的 .htaccess 以使用节点 15.5.0 我使用 Dream Host VPS 托管

解决方法

我相信这个错误是因为 GLOBAL 的大写 global 别名从 nodejs v14(或接近它的某个版本)开始被弃用。正如警告here

DreamHost 服务器上运行的Passenger 版本目前不适用于Node.js 14+ 版本。

您需要使用比 v14 的节点版本才能让乘客工作。我将 node 降级到 v13,这为我解决了这个问题。