Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Node canvas is a Cairo backed Canvas implementation for NodeJS.

This branch is 21 commits ahead, 371 commits behind Automattic:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
benchmarks
cairo
examples
lib
src
test
.gitignore
.gitmodules
.npmignore
History.md
Makefile
Readme.md
index.js
install
package.json
wscript

Readme.md

HEROKU Node Canvas

usage:

1. create a heroku app in cedar:

heroku create --stack cedar

2. set environment variables

create a .env file in your application with this contents:

LD_PRELOAD='/app/node_modules/canvas/cairo/libcairo.so /app/node_modules/canvas/lib/libpixman-1.so.0 /app/node_modules/canvas/lib/libfreetype.so.6'
LD_LIBRARY_PATH=/app/node_modules/canvas/cairo
  • LD_PRELOAD will tell heroku to always preload those libs
  • LD_LIBRARY_PATH will tell heroku where to find aditional dinamic libs

Note on #2:

If the .env file doesn't work for you, alternatively, you can try:

$ heroku config:add LD_PRELOAD='/app/node_modules/canvas/cairo/libcairo.so /app/node_modules/canvas/lib/libpixman-1.so.0 /app/node_modules/canvas/lib/libfreetype.so.6' --app your-app
$ heroku config:add LD_LIBRARY_PATH=/app/node_modules/canvas/cairo --app your-app

Final Notes

If you ever need to "re-install" a library like this on heroku, you'll need to either

  • Destroy and recreate the app on heroku
  • Or, up the version number in the package.json

Heroku won't re-install, it will only pull from cache, if the version number is the same.

Something went wrong with that request. Please try again.