-1

I got an error when trying to deploy node.js app to GAE. I noted that node.js runtime was not able to find the module that require in app.js. If I remove require statement it will be run normally.

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

The deploy command like bellow:

>gcloud app deploy

After some minutes, the log show errors like:

**> nodejs-getting-started@1.0.0 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! nodejs-getting-started@1.0.0 start: `node app.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the nodejs-getting-started@1.0.0 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 Answers1

1

Beside checking that double quotes are indeed used in var protocol = require("./protocol.js"); when usually single quotes are expected, it may be worthwhile examining the directory structure of the modules, which has to agree with the path indicated in the require call. How does your package.json look like?

George
  • 274
  • 1
  • 5