Symbol not found _OBJC_CLASS_$_NSFont when requiring canvas

Author: jmeyers91Created Jun 22, 2017Updated Aug 22, 2026
LabelsBinaries

Issue

I'm receiving this error while trying require node-canvas:

Error: dlopen(/Users/james/projects/audiogram/node_modules/canvas/build/Release/canvas.node, 1): Symbol not found: _OBJC_CLASS_$_NSFont
  Referenced from: /Library/Frameworks/Mono.framework/Versions/4.8.1/lib/libpangocairo-1.0.0.dylib
  Expected in: flat namespace
 in /Library/Frameworks/Mono.framework/Versions/4.8.1/lib/libpangocairo-1.0.0.dylib
    at Object.Module._extensions..node (module.js:598:18)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/james/projects/audiogram/node_modules/canvas/lib/bindings.js:3:18)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)

Steps to Reproduce

javascript
require('canvas');

Your Environment

  • Version of node-canvas: ^1.6.5
  • Environment: Node 7.8.0, npm 4.2.0, OSX 10.12.5