Alexandre
Alexandre

Reputation: 1

Deploy meteor 1.4 on IBM Bluemix

Does someone know how to deploy meteor 1.4+ on IBM Bluemix?

Nothing seems to work.

meteor v 1.4.4.1
node.js v4.8.1
npm 4.2.0
mongodb 3.4.0

I tried demeteorizer github.com/XervoIO/demeteorizer but it doesn't figure out which version of nodejs it needs to set up.

I tried meteor buildpack github.com/ind1go/bluemix-buildpack-meteor, but it's 4+ years old, no way it'll work with meteor 1.4+.

I tried to run the application as a node.js one with the standard buildpack, I tried another from scalingo (github.com/Scalingo/nodejs-buildpack) which should support meteor better. This method is the one having the farest results even though I cannot succeed deploying. Here is the methode description:

  1. npm install --production
  2. meteor reset
  3. meteor build /build --architecture os.linux.x86_64
  4. cd /build && tar xvzf devance.tar.gz && chmod -R +w+x *
  5. cd /build/bundle/programs/server/ && npm install
  6. cd /build/bundle and create package.json with content:

    {
      "name": "myname",
      "version": "1.0.0",
      "dependencies": {
        "meteor-promise": "0.8.0",
        "fibers": "1.0.15",
        "promise": "7.1.1",
        "underscore": "1.5.2",
        "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e",
        "semver": "4.1.0",
        "node-gyp": "3.6.0",
        "node-pre-gyp": "0.6.34"
      },
      "scripts": {
        "start": "node main.js"
      },
      "engines": {
        "node": "4.8.1",
        "npm": "4.2.0"
      },
      "private": true
    }
    
  7. I test locally "node main.js", it works
  8. cf push my-app -b https://github.com/Scalingo/nodejs-buildpack.git and it fails with the following error message from Bluemix CF.

    ERR /home/vcap/app/programs/server/boot.js:356
    ERR }).run();
    ERR    ^
    ERR Error: Can't find npm module 'meteor-deque'. Did you forget to call 'Npm.depends' in package.js within the 'meteor' package?
    ERR     at Object.require (/home/vcap/app/programs/server/boot.js:200:17)
    ERR     at packages/meteor.js:677:32
    ERR     at packages/meteor.js:846:4
    ERR     at packages/meteor.js:1380:3
    ERR     at /home/vcap/app/programs/server/boot.js:303:34
    ERR     at Array.forEach (native)
    ERR     at Function._.each._.forEach (/home/vcap/app/node_modules/underscore/underscore.js:79:11)
    ERR     at /home/vcap/app/programs/server/boot.js:128:5
    ERR     at /home/vcap/app/programs/server/boot.js:352:5
    ERR     at Function.run (/home/vcap/app/programs/server/profile.js:510:12)
    OUT Exit status 1
    

It clearly doesn't find the demetorized meteor packages. Any solutions would help.

Thanks

Upvotes: 0

Views: 227

Answers (1)

Soulou
Soulou

Reputation: 149

Scalingo's CTO and author of the buildpack here. A little disclaimer first. The buildpack has been designed to work on the Scalingo hosting platform first, but should work anywhere in theory. (In theory because it has not been tested properly elsewhere)

According to your error, the issue is related to a missing dependency in your package.json, you should run meteor npm install --save meteor-deque and commit the new version of the file. Then it should work as expected.

Regards,

Upvotes: -1

Related Questions