【问题标题】:require('nodemailer') causing deployment on Openshift to failrequire('nodemailer') 导致 Openshift 上的部署失败
【发布时间】:2017-08-30 15:17:12
【问题描述】:

我正在尝试使用 nodemailer 将 Zoho 邮件与 Nodejs 应用程序集成。我可以在本地这样做并发送邮件。但是当我尝试将相同的代码推送到 Openshift 时,它失败并出现错误:

8080 端口无法部署。

我尝试了不同的组合来找出原因,一旦我删除了var nodemailer = require('nodemailer');,应用程序就会被部署。

package.json 中的依赖 {"nodemailer": "^3.0.2"}

还有其他人遇到过类似的问题吗?

【问题讨论】:

标签: node.js openshift nodemailer zoho


【解决方案1】:

由于我们发现没有满足nodemailer最低nodejs版本,在openshift上更新node版本可以解决问题,更新版本使用rhc连接到vm并进行以下更改,

Node.js

默认情况下,Node.js 版本是通过查询 semver.io/node/unstable 来确定的。

可以通过 NODE_VERSION_URL 环境变量或通过在应用程序存储库中设置 .openshift/NODE_VERSION_URL 标记来指定不同的 URL。例如,您可以通过将其放入 NODE_VERSION_URL 变量或 .openshift/NODE_VERSION_URL 标记中来获得最新的 6.xx(截至今天为 6.10.2):

https://semver.io/node/resolve/6

如果您使用的是非默认 Node.js 版本并且您计划跨多个齿轮扩展应用程序,则必须使用环境变量。

npm

默认情况下,npm 版本是通过运行 npm view npm version 来确定的。

可以通过 NPM_VERSION_URL 环境变量或通过在应用程序存储库中设置 .openshift/NPM_VERSION_URL 标记来指定不同的 npm 版本。例如,您可以通过将其放入 NPM_VERSION_URL 变量或 .openshift/NPM_VERSION_URL 标记中来获得最新的 3.x(截至今天为 3.10.10):

https://semver.io/npm/resolve/3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-26
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多