2

このリポジトリに記載されている手順に従っていますが、機能しないようです。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":"*"
  }
}

アプリはローカルで問題なく実行されます。

4

4 に答える 4

6

このバージョンの nodejs スターター コードの方が気に入っています: https://github.com/ryanj/nodejs-custom-version-openshift

.openshiftこれには、 nodejs 用のアプリケーション ビルド フックの新しいバージョンが含まれています。マーカー ファイルを読み取りますが、package.jsonファイルのengines属性から直接読み取って Nodejs ランタイムをコンパイルすることもサポートしています。

"engines": {
  "node": ">= 0.10.0",
  "npm": ">= 1.0.0"
},

これを、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が、アプリケーションの出力のすべてが表示されない場合があります。追加のデバッグ情報については、アプリを手動で起動してみてください。

  1. まず、コマンド ラインからアプリを停止します。rhc app stop APP_NAME
  2. 次に、アプリケーションのギア/コンテナに接続しますrhc ssh APP_NAME
  3. cd $OPENSHIFT_REPO_DIR
  4. package.jsonファイルのscripts.start属性内で定義されているコマンドを手動で実行します。

うまくいけば、何が起こっているのかをもう少し可視化できます。

于 2013-06-14T18:37:12.657 に答える
1

多分これが役立つでしょう。微妙な違いがあります。コメントも参照してください。

https://www.openshift.com/blogs/any-version-of-nodejs-you-want-in-the-cloud-openshift-does-it-paas-style

于 2013-06-13T20:43:36.820 に答える
1

「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

もう一度手順をやり直してください。

于 2013-06-13T20:58:32.903 に答える