在 Google App Engine 上部署 Node.js 时出错

在 Google App Engine 上部署 Node.js 时出错

尝试将 node.js 应用程序部署到 GAE 时出现错误。我注意到 node.js 运行时无法找到 app.js 中所需的模块。如果我删除 require 语句,它将正常运行。

// in app.js    
var protocol = require("./protocol.js");

部署命令如下:

>gcloud app deploy

几分钟后,日志显示如下错误:

**> [email protected] start /app
> node app.js

module.js:471
    throw err;
    ^

Error: Cannot find module './app/protocol'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/app/app.js:21:16)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

npm ERR! Linux 3.16.0-4-amd64
npm ERR! argv "/nodejs/bin/node" "/nodejs/bin/npm" "start"
npm ERR! node v6.9.2
npm ERR! npm  v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: `node app.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script 'node app.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the nodejs-getting-started package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node app.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs nodejs-getting-started
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls nodejs-getting-started
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /app/npm-debug.log

Please help.**

答案1

除了检查 var protocol = require("./protocol.js"); 中是否确实使用了双引号(通常需要单引号)外,可能还值得检查模块的目录结构,该结构必须与 require 调用中指示的路径一致。您的 package.json 是什么样子的?

相关内容