我正在尝试在https://www.openshift.com/上托管我的网站。它是node.js服务器端和angular.js客户端的网站。我使用了node.js(Node.js 0.10)默认应用程序并添加了MongoDB 2.4盒式磁带。
现在,当我运行网站时,我正在:Service Temporarily Unavailable
。
我已经连接到我的应用程序uning ssh,同时运行以下命令,这就是我所拥有的:
> cd $OPENSHIFT_REPO_DIR
> node server.js -e production
module.js:340
throw err;
^
Error: Cannot find module 'forwarded'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/var/lib/openshift/5456b331e0b8cd980200004a/app-root/
runtime/repo/node_modules/express/node_modules/proxy-addr/index.js:19:17)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
看起来像是依赖问题,但我不知道如何解决这个问题。应用程序在localhost中正常运行。
编辑以回应丹尼尔:
这就是我所拥有的:
> cd $OPENSHIFT_REPO_DIR; npm install
npm WARN package.json express@4.9.8 No README data
npm WARN package.json mocha@1.21.4 No README data
npm WARN package.json passport-local-mongoose@0.3.0 No README data
npm WARN package.json passport@0.2.1 No README data
npm WARN package.json chai@1.9.1 No README data
npm http GET https://registry.npmjs.org/bcrypt-nodejs
npm http 304 https://registry.npmjs.org/bcrypt-nodejs
npm WARN unmet dependency /var/lib/openshift/5456b331e0b8cd980200004a/app-root/r
untime/repo/node_modules/express/node_modules/send requires on-finished@'2.1.0'
but will load
npm WARN unmet dependency /var/lib/openshift/5456b331e0b8cd980200004a/app-root/r
untime/repo/node_modules/express/node_modules/on-finished,
npm WARN unmet dependency which is version 2.1.1
答案 0 :(得分:0)
确保已在服务器上安装依赖项。
$ cd $OPENSHIFT_REPO_DIR; npm install
答案 1 :(得分:0)
我刚用nextjs应用程序遇到了这个问题。
我认为原因是我从package.json文件中删除了一个包,但没有删除包含npm uninstall
/ yarn remove
的包,所以我的锁文件仍然在寻找它。
最后,我删除了我的yarn.lock
文件(如果您使用的是纱线)并删除了我的node_modules
文件夹,然后又运行了yarn install
(npm install
)再次工作
您还可以重建您怀疑给您带来问题的任何套餐。通常是诀窍。特别是如果您最近升级了Node。