我正在遵循this存储库中描述的步骤,但我似乎无法使其工作。当我查看我的env文件时,nodejs版本仍然是.6.20
我的节点js版本文件是默认的,所以节点版本.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
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只是为了完整起见。我的package.json文件
{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node server.js"
},
"dependencies": {
"express": "3.2.5",
"mustache": "*",
"request" : "*",
"buildify":"*",
"cheerio" : "*",
"slugs" : "*",
"to-markdown":"*",
"consolidate":"*"
}
}app在本地运行得很好。
发布于 2013-06-15 02:37:13
我更喜欢nodejs starter代码的这个版本:https://github.com/ryanj/nodejs-custom-version-openshift
它包含用于nodejs的较新版本的.openshift应用程序构建挂钩。它将读取标记文件,但也支持直接从package.json文件的engines属性读取以编译您的Nodejs运行时。
"engines": {
"node": ">= 0.10.0",
"npm": ">= 1.0.0"
},我希望将get this merged in作为OpenShift上所有nodejs应用程序的默认.openshift文件夹内容。
您还需要确保绑定到新的环境变量:OPENSHIFT_NODEJS_IP和OPENSHIFT_NODEJS_PORT。这些最近被重命名了。
我通常会在我的应用程序代码中添加类似这样的代码,让它可以在任何地方运行:
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_NAMErhc ssh APP_NAMEcd $OPENSHIFT_REPO_DIRpackage.json文件的scripts.start属性中定义的任何命令。希望这能让你对正在发生的事情有更多的了解。
发布于 2013-06-14 04:43:37
也许这会有帮助。这里有一些细微的区别。另请参阅注释。
发布于 2013-06-14 04:58:33
你在你的"git push“输出中看到过类似的东西吗?
remote: - Checking to see if Node.js version 0.8.9 is installed ...
remote: - Downloading and extracting http://nodejs.org/dist/v0.8.9/node-v0.8.9-linux-x64.tar.gz ...
remote: % Total % Received % Xferd Average Speed Time Time Time Current
remote: Dload Upload Total Spent Left Speed
remote: 100 4578k 100 4578k 0 0 31.4M 0 --:--:-- --:--:-- --:--:-- 33.8M在底部,就像这样:
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 ... 我尝试了同样的指令,它似乎起作用了。在这里查看我的环境:http://mynode-sannam.rhcloud.com/env
请再重复一次你的步骤。
https://stackoverflow.com/questions/17093167
复制相似问题