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.