require('mysql') 在 OpenShift 中使用 NodeJS 服务器失败

require('mysql') fails using NodeJS server in OpenShift

我在这里看到了很多关于这方面的帖子并尝试了很多选择。 我什至尝试 运行 在 app-root/runtime/repo.

中安装

'npm install mysql' 工作正常 - 屏幕输出显示已安装,但未在 node_modules 文件夹中创建任何文件(如通过 'ls' 或 'dir' 看到的)。 app.js 中的失败行:var mysql = require("mysql");.

tail -f app-root/logs/nodejs.log 显示了很多这些....

Error: Cannot find module 'mysql'
    at Function.Module._resolveFilename (module.js:339:15)

我正在使用 OpenShift 'NodeJs Latest' 预配置应用程序。 Cartridges MySQL 和 phpMyAdmin 安装并运行良好(看起来)

我 运行 没主意了。有人吗?

怀疑 OpenShift 主机进程的权限或类似的预防措施,我尝试在本地安装到 git 克隆的存储库。

在app的同一个文件夹下,我发出了npm install --save mysql 此安装 mysql 使用本地安装的节点版本。

然后我通过 git 检查了更改,瞧 - 问题解决了。

希望有一天这对其他人有所帮助:)