2017-04-05 22 views
-1

我试图使用nodemailer将Zoho邮件与Nodejs应用程序集成在一起。我可以在本地进行邮件发送。但是,当我试图相同的代码推到Openshift,它与错误而失败:require('nodemailer')导致在Openshift上部署失败

port 8080 is not available to deploy.

我尝试不同的组合,找出其中的原因,并尽快我删除var nodemailer = require('nodemailer');,将应用程序部署。

Dependency in package.json {"nodemailer": "^3.0.2"}

其他人都面临类似的问题?

+1

请仔细阅读[在什么情况下可能我为我的问题添加“紧急”或其他类似的短语,以获得更快的答案?](https://meta.stackoverflow.com/q/326569) - 总结是,这不是解决志愿者问题的理想方法,并且可能适得其反。请不要将这添加到您的问题。 – halfer

+0

错误不是关于NodeMailer,而是关于openshift上8080端口的双重使用。 – throrin19

+0

该错误可能是通用的,http://stackoverflow.com/questions/31511724/application-failed-to-start-port-8080-not-available –

回答

0

因为我们发现的是,nodemailer最小的NodeJS版本被没有得到满足,更新就openshift节点版本将解决这个问题,更新版本使用RHC连接到虚拟机,并做如下更改,

Node.js

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

不同的URL可以通过NODE_VERSION_URL环境变量或通过在应用程序库中设置.openshift/NODE_VERSION_URL标记来指定。举例来说,你将这个标签在NODE_VERSION_URL变量或.openshift/NODE_VERSION_URL获得最新6.XX(6.10.2截至今日)标记:

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

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

NPM

默认情况下,NPM版本是通过运行NPM视图NPM版本来确定。

可以通过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