Use Git dependencies with npm and Node on Heroku Use Git dependencies with npm and Node on Heroku heroku heroku

Use Git dependencies with npm and Node on Heroku


FYI if its on GitHub you can just specify the username/repository and npm will do the rest.

{    "name": "application-name"  , "version": "0.0.1"  , "private": true  , "dependencies": {      "coffee-script": "1.1.3"    , "express": "2.5.0"    , "less": "1.1.5"    , "jade": "0.17.0"    , "connect-redis": "1.2.0"    , "hiredis": "0.1.13"    , "redis": "0.7.1"    , "bcrypt": "0.4.1"    , "promised-io": "0.3.0"    , "jugglingdb": "juggy/jugglingdb"    , "nodemailer": "0.2.3"  }}

Alternatively

Specify one of (git/git+ssh/git+http/git+https)://user@host/repo.git urls

Fully documented


I don't know about this package, but I've got others to work with syntax like the following. On heroku, using a http reference to a tar.gz

package.json:

{    "name": "application-name"  , "version": "0.0.1"  , "private": true  , "dependencies": {      "coffee-script": "1.1.3"    , "express": "2.5.0"    , "less": "1.1.5"    , "jade": "0.17.0"    , "connect-redis": "1.2.0"    , "hiredis": "0.1.13"    , "redis": "0.7.1"    , "bcrypt": "0.4.1"    , "promised-io": "0.3.0"    , "jugglingdb": "https://github.com/juggy/jugglingdb/tarball/master"    , "nodemailer": "0.2.3"  }}


The problem is in their nodejs buildpack. I've sent a pull request to Heroku with a fix, but I have no idea if or when they'll respond. Fortunately, there's a not-very-well documented method for using a custom buildpack, which will allow you to work around the issue. I've forked heroku's nodejs buildpack and fixed the problem - available here:

https://github.com/chrisleishman/heroku-buildpack-nodejs/tree/git_fix

To use this, you're best creating your own github fork of https://github.com/heroku/heroku-buildpack-nodejs and then merging in my chrisleishman/git_fix branch. E.g. (after forking):

git clone git@github.com:@YOUR-GITHUB-NAME@/heroku-buildpack-nodejs.gitcd heroku-buildpack-nodejsgit remote add chrisleishman git://github.com/chrisleishman/heroku-buildpack-nodejs.gitgit fetch chrisleishmangit merge chrisleishman/git_fixgit push

You can then add the BUILDPACK_URL config variable to your heroku app. E.g.

heroku config:add BUILDPACK_URL="git://github.com/@YOUR-GITHUB-NAME@/heroku-buildpack-nodejs.git

The next push to heroku should then use the custom buildpack, containing the fix.