n.dee
n.dee

Reputation: 371

Deploy meteor/meteorite 0.8.3 to heroku

I just updated my app to meteor 0.8.3. Locally it runs without problems. But when I try to push it to heroku, I'll get the following error:

   Building meteor bundle
   simple-schema: updating npm dependencies -- string...
   iron-router: updating npm dependencies -- connect...
   lodash: updating npm dependencies -- lodash...
   Errors prevented bundling:
   While building the application:
   error: no such package: 'accounts-ui-bootstrap-3'
   error: no such package: 'accounts-entry'

   While building package `iron-dynamic-template`:
   error: no such package: 'blaze'
   tar: /app/tmp/cache/bundle.tar.gz: Cannot open: No such file or directory
   tar: Error is not recoverable: exiting now
   tar: Child returned status 2
   tar: Exiting with failure status due to previous errors

   !     Push rejected, failed to compile Meteor app app

For deployment, I used the buildpack of oortcloud. This worked proper in the past. https://github.com/oortcloud/heroku-buildpack-meteorite

I'm most confused by the earlier log entries before the error happens. Here it says that Meteor 0.8.1.1 is being installed. A couple of lines after that it confirms that Meteor 0.8.3 has been installed. I'm pretty sure that this is the same issue like this. https://github.com/EventedMind/iron-dynamic-template/issues/2

 Installing Meteor 0.8.1.1
 * 'meteor' build tool (vers
 * 'meteor' build tool (version 43b8566b9f)
 * Package updates: accounts-base accounts-meteor-developer accounts-oauth
   accounts-password accounts-ui accounts-ui-unstyled amplify appcache
   application-configuration autoupdate browser-policy browser-policy-common
   browser-policy-content check coffeescript coffeescript-test-helper ctl
   ctl-helper deps ejson email facebook facts follower-livedata force-ssl github
   google html-tools htmljs http jquery-waypoints js-analyze less livedata
   localstorage logging meetup meteor meteor-developer minifiers minimongo
   mongo-livedata oauth oauth-encryption oauth1 oauth2 observe-sequence
   reactive-dict routepolicy session showdown spacebars spacebars-compiler
   spacebars-tests spiderable srp star-translate stylus templating test-helpers
   test-in-browser tinytest twitter ui underscore-tests webapp weibo


Meteor 0.8.3 has been installed in your home directory (~/.meteor).

Now you need to do one of the following:

  (1) Add ~/.meteor to your path, or
  (2) Run this command as root:
        cp ~/.meteor/tools/latest/launch-meteor /usr/bin/meteor

Then to get started, take a look at 'meteor --help' or see the docs at
docs.meteor.com.

I also tried to create a new meteorite app to get rid of dangling dependencies. But without success!

What can I do? Is there a chance to debug the push/deploy on the heroku server?

Upvotes: 2

Views: 368

Answers (1)

n.dee
n.dee

Reputation: 371

The outdated file .meteor/release caused the problem:

git heroku push master fetches the files to deploy from the origin git repository. It doesn't care about local, unstaged files. Somehow the file .meteor/release has not been pushed to the origin repository. So during the installation routine at heroku the meteor version was 0.8.1.1 and not 0.8.3.

Solution to avoid this problem:

  • Check/Add the files .meteor/release and .meteor/packages to your origin git repo
  • Test only what's in your origin repo before you deploy it. Use git pull

Upvotes: 1

Related Questions