我尝试在本地主机和谷歌虚拟机上运行我的节点应用程序。如果我登录到谷歌云虚拟机的putty\ssh,该应用程序运行良好并启动节点应用程序(从/opt/app文件夹)。我可以登录浏览器并通过{外部ip:端口号}访问应用程序。
如果我只是重置(或停止\启动)虚拟机,它不会启动应用程序。我提供了一个启动脚本来启动应用程序在以下文章中提到:
https://cloud.google.com/nodejs/getting-started/run-on-compute-engine#download_app
当虚拟机尝试运行启动脚本文件时,我可以看到以下内容。这真的是因为dependency不见了吗?因为如果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.
包.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"
}
如果有任何帮助,我们将不胜感激?此外,它在"supervisor"日志中给出了一个错误。
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
请参阅日志行line 28: cd: /opt/app/7-gce: No such file or directory
:在链接的说明中,它假设您的应用程序位于该目录中。但是,您的VM上似乎没有它,这会导致脚本的其余部分失败。