This is the official Heroku buildpack for Node.js apps.
For more information about using this Node.js buildpack on Heroku, see these Dev Center articles:
For more general information about buildpacks on Heroku:
In production, you frequently want to lock all of your dependencies - including buildpacks - to a specific version. That way, you can regularly update and test them, upgrading with confidence.
First, find the version you want from
the list of buildpack versions.
Then, specify that version with
heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs#v83 -a my-app
If you have trouble upgrading to the latest version of the buildpack, please open a support ticket at help.heroku.com so we can assist.
This buildpack automatically exports node, npm, and any node_modules binaries
$PATH for easy use in subsequent buildpacks.
Having trouble? Dig it? Feature request?
To make changes to this buildpack, fork it on GitHub. Push up changes to your fork, then create a new Heroku app to test it, or configure an existing app to use your buildpack:
# Create a new Heroku app that uses your buildpack heroku create --buildpack <your-github-url> # Configure an existing Heroku app to use your buildpack heroku buildpacks:set <your-github-url> # You can also use a git branch! heroku buildpacks:set <your-github-url>#your-branch
The buildpack tests use Docker to simulate Heroku's Cedar-14 and Heroku-16 containers.
To run the test suite:
Or to just test in cedar or cedar-14:
make test-cedar-14 make test-heroku-16
The tests are run via the vendored shunit2 test framework.
If your builds are not completing and have errors you may need to examine your build environment for
NO_PROXY environment variables. A few examples of build output that may indicate issues with these values are below.
// ... -----> Installing binaries engines.node (package.json): 10 engines.npm (package.json): unspecified (use default) Resolving node version 10... Error: Unknown error installing "10" of node -----> Build failed // ...
// ... -----> Node.js app detected curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to lang-common.s3.amazonaws.com:443 // ...
If the environment where you are running the buildpack does not require a proxy to be used for HTTP connections you should try setting
NO_PROXY environment variable to
amazonaws.com, i.e. running the command
export NO_PROXY=amazonaws.com immediatly before executing
the buildpack or by setting that environment value inside the buildpack. If you find
HTTPS_PROXY environment variables and do not need a proxy in your build environment then the environment
variables should be removed.
Copy the snippet above into CLI.