2016-04-11 13 views
1

私のノードアプリケーションは、localhostとgoogle VMで実行しようとしました。 GoogleクラウドVM のputty \ sshにログインし、ノードアプリケーションを(/ opt/appフォルダから)起動すると、アプリケーションはうまく動作します。私はブラウザにログインし、{external ip:port number}でアプリケーションにアクセスできます。GCloud VMインスタンスが起動していませんノードアプリケーション

VMをリセット(または停止\開始)しただけでは、アプリケーションが起動しません。私は、次の資料に記載 ように、アプリケーションを起動するための起動スクリプトを提供:

https://cloud.google.com/nodejs/getting-started/run-on-compute-engine#download_app

VMが起動スクリプトファイルを実行しようとしているとき、私は以下を参照してくださいすることができます。これは本当に依存関係がないためですか? package.jsonが見つからなかった場合は、手動で実行しようとしたときに失敗しているはずです。

Apr 11 21:15:02 my-app-instance startupscript: /tmp/tmp.XwUPXasPss: line 28: cd: /opt/app/7-gce: No such file or directory 
    Apr 11 21:15:02 my-app-instance startupscript: npm install 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! install Couldn't read dependencies 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! Linux 3.16.0-4-amd64 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! argv "/opt/nodejs/bin/node" "/usr/bin/npm" "install" 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! node v4.2.2 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! npm v2.14.7 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! path /package.json 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! code ENOPACKAGEJSON 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! errno -2 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! syscall open 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! package.json ENOENT: no such file or directory, open '/package.json' 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! package.json This is most likely not a problem with npm itself. 
    Apr 11 21:15:03 my-app-instance startupscript: npm ERR! package.json npm can't find a package.json file in your current directory. 

Package.json

{ 
     "name": "appname", 
     "version": "1.0.0", 
     "description": "An interactive forum", 
     "main": "server.js", 
     "private": true, 
     "engines": { 
     "node": ">=0.12.7", 
     "npm": "2.14.12" 
     }, 
     "dependencies": { 
     "bluebird": "^3.3.4", 
     "body-parser": "^1.15.0", 
     "cors": "^2.7.1", 
     "express": "^4.13.4", 
     "jsonfile": "^2.2.3", 
     "mysql": "^2.10.2", 
     "socket.io": "^1.4.5" 
     }, 
     "devDependencies": {}, 
     "scripts": { 
     "test": "echo \"Error: no test specified\" && exit 1" 
     }, 
     "repository": { 
     "type": "git", 
     "url": "app, test, ineractive" 
     }, 
     "keywords": [ 
     "app", 
     "test", 
     "interactive" 
     ], 
     "author": "Srikanth", 
     "license": "MIT" 
    } 

任意の助けいただければ幸いですか!また、 "スーパーバイザー"ログにエラーが発生します。

2016-04-11 21:15:09,694 INFO exited: nodeapp (exit status 127; not expected) 
    2016-04-11 21:15:10,695 INFO gave up: nodeapp entered FATAL state, too many start retries too quickly 

答えて

1

はログ行line 28: cd: /opt/app/7-gce: No such file or directoryを参照してください:リンクされた命令では、そのディレクトリにアプリの生活を想定しています。しかし、あなたのVM上にそれを持っていないように見えるので、残りのスクリプトは失敗します。

+0

ザカリーありがとうございます。それはたくさんの助けになりました。私はUNIXの専門家ではない。それはなぜこの小柄なエラーが私の目を横切ったのか。私たちがクラウドを管理したいのであれば、私はUNIXコマンドを学ばなくてはなりません。スタートアップファイルをコピーしたのは、そのチュートリアルのスタートアップスクリプトのセクションにプロジェクト特有のものは何も言及していないからです。 –