Node.js Can';t在openshift上运行特定版本的节点
我正在按照存储库中描述的步骤进行操作,但似乎无法使其正常工作。当我查看我的文件时,nodejs版本仍然是.6.20 我的node js版本文件是默认文件,因此node version.8.9应该正在运行。知道为什么会这样吗 我的标记文件:Node.js Can';t在openshift上运行特定版本的节点,node.js,openshift,Node.js,Openshift,我正在按照存储库中描述的步骤进行操作,但似乎无法使其正常工作。当我查看我的文件时,nodejs版本仍然是.6.20 我的node js版本文件是默认文件,因此node version.8.9应该正在运行。知道为什么会这样吗 我的标记文件: 0.8.9 尝试启动应用程序时调试输出 ==> nodejs/logs/node.log <== npm ERR! node -v v0.6.20 npm ERR! npm -v 1.1.37 npm ERR! code ELIFECYCLE
0.8.9
尝试启动应用程序时调试输出
==> nodejs/logs/node.log <==
npm ERR! node -v v0.6.20
npm ERR! npm -v 1.1.37
npm ERR! code ELIFECYCLE
npm ERR! message application-name@0.0.1 start: `node server.js`
npm ERR! message `sh "-c" "node server.js"` failed with 1
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /var/lib/openshift/51ba8386e0b8cd2873000002/app-root/runtime/repo/npm- debug.log
npm ERR! not ok code undefined
npm ERR! not ok code 1
本地运行正常。也许这会有所帮助。有细微的差别。另见评论
您在“git push”输出中看到类似的内容了吗 在底部的底部,类似于:
remote: - Using Node.js version 0.8.9, checking app URI ...
remote: - test URI = http://mynode-sannam.rhcloud.com/env
remote: - Version from test URI =
remote:
remote: - Checking to see if Node.js version 0.8.9 is installed ...
我尝试了同样的指示,似乎奏效了。请在此处查看我的环境:
请再重复一次您的步骤。我更喜欢这个版本的nodejs启动程序代码: 它包含一个较新版本的
.openshift
节点应用程序构建挂钩。它将读取标记文件,但也支持直接从package.json
文件的engines
属性读取,以编译Nodejs运行时
"engines": {
"node": ">= 0.10.0",
"npm": ">= 1.0.0"
},
我希望将其作为openshift上所有nodejs应用程序的默认.openshift
文件夹内容
您还需要确保绑定到新的环境变量:OPENSHIFT\u NODEJS\u IP
和OPENSHIFT\u NODEJS\u端口
。它们最近被重新命名
我通常会在我的应用程序代码中添加类似的内容,使其可以在任何地方运行:
var ip_addr = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1';
var port = process.env.OPENSHIFT_NODEJS_PORT || '8080';
OpenShift当前显示了npm start
的输出,这可能不会显示应用程序的所有输出。有关其他调试信息,您可以尝试手动启动应用程序:
rhc app stop app\u NAME
rhc ssh APP_NAME
cd$OPENSHIFT\u REPO\u DIR
package.json
文件的scripts.start
属性中定义的任何命令希望这能让您更清楚地了解正在发生的事情。我也遇到了同样的问题,一开始我无法使用源代码解决它,但在阅读推送输出时,我注意到了一些权限问题。 因此,对于其他有同样问题的人,只需进入:
cd .openshift\action_hooks
并运行以下命令:
git update-index --chmod=+x *
它提供了运行升级节点版本的命令的权限,感谢您的提醒。我会重做它并关注这些消息。它成功了。我刚刚从头开始重新安装。谢谢你的帮助。对不起,我说得太早了。在git推送响应中,我安装了node.js版本0.8.9,但仍然是.6.2.0。我做错了什么?我需要查看您的it推送输出以及标记文件的内容。你可以把它们送到sannam@redhat.comDoesn我不能在这里工作。git push输出仍然使用打印
remote:npm信息node@v0.6.20
。谢谢。我没有读评论。但是我读了这篇文章。我想我需要更仔细地查看一下您在此处引用的存储库似乎已被删除。此git命令为我提供了各种错误:错误:.openshift/action\u hooks/build:无法添加到索引-缺少--add选项?致命:无法处理路径。openshift/action\u hooks/build似乎action\u hooks中的某些文件不在索引中。请尝试向命令添加--add标志
cd .openshift\action_hooks
git update-index --chmod=+x *