[SOLVED] Having build issues with 1.4.1.1 not installing npm dependencies


#1

Having a build issue here after upgrading to METEOR@1.4.1.1, big show stopper here. When I run meteor build it tells me that I have some missing dependencies and to meteor npm install —save <dependency>. I do this, and run meteor build again, but it still outputs the same message. No idea what to do.

It says:
Error: Can't find npm module 'body-parser'. Did you forget to call 'Npm.depends' in package.js within the 'modules-runtime' package?

Any attempt to re add it (with --save) renders same output.

Quite a showstopper since this broke our staging releases.

Please advice.

Thanks!


#2

Following up:

In local I consistently reproduced this issue when nobody run npm install before trying to run meteor. So I’ve added that step in the CI script before trying the build. With that the builds started to complete.

`machine:
node:
version: 4.4.7

dependencies:

cache_directories:
- ~/.meteor

override:
- meteor || curl https://install.meteor.com | /bin/sh
- npm install
- meteor build . --server=http://staging.hostflow.co/ --architecture=os.linux.x86_64
…`

The problem now is that the runtime is still having this problem even after its own:
tar -xzf source.tar.gz && cd bundle/programs/server && npm install

trying to run the app.js with node, throws:
Error: Can't find npm module 'body-parser'. Did you forget to call 'Npm.depends' in package.js within the 'modules-runtime' package?


#3

Following up:

The script to make the runtime build start without issues is this:

`machine:
node:
version: 4.4.7

dependencies:

cache_directories:

  • ~/.meteor

override:

  • meteor || curl https://install.meteor.com | /bin/sh
  • meteor npm install
  • meteor build . --server=http://staging.hostflow.co/ --architecture=os.linux.x86_64
    …`

meteor npm install instead of npm install

We assumed npm install was the same but it seems meteor npm install is not just a convenience command.