Comments (6)
I'm able to install on maOS 14.4.1 with an Apple Silicon chipset:
brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman [email protected]
rm -rf node_modules
npm install
If you don't have the brew
command from homebrew: https://brew.sh
from node-canvas.
Using homebrew to install unpinned versions of dependencies to get a node package's build script to succeed doesn't feel right. This package should distribute a prebuilt binary for both Mac architectures, but GitHub charges money for Apple Silicon GitHub Actions runners (the free tier is Intel).
Edit: not a huge improvement, but here's a nix shell definition that can also build canvas:
# shell.nix
{ system ? builtins.currentSystem, pkgs ? import <nixpkgs> { inherit system; } }:
pkgs.mkShell {
nativeBuildInputs = with pkgs.buildPackages; [ pkg-config cairo pango libpng libjpeg giflib librsvg pixman darwin.apple_sdk.frameworks.Foundation ];
}
Invoke using:
nix-shell shell.nix --argstr system aarch64-darwin
npm run install
from node-canvas.
I'm able to install on maOS 14.4.1 with an Apple Silicon chipset:
brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman [email protected]rm -rf node_modulesnpm installIf you don't have the
brew
command from homebrew: https://brew.sh
I needed to run the command pip3 install setuptools
after brew.
Everything is working fine after that
from node-canvas.
I've the same problem and I tried everything, and nothing solved it
Error message:
npm WARN deprecated @npmcli/[email protected]: This functionality has been moved to @npmcli/fs
npm ERR! code 1
npm ERR! path /Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas
npm ERR! command failed
npm ERR! command sh -c node-pre-gyp install --fallback-to-build --update-binary
npm ERR! Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --update-binary --module=/Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v115' (1)
npm ERR! node-pre-gyp info it worked if it ends with ok
npm ERR! node-pre-gyp info using [email protected]
npm ERR! node-pre-gyp info using [email protected] | darwin | arm64
npm ERR! node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v115-darwin-unknown-arm64.tar.gz
npm ERR! node-pre-gyp ERR! install response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v115-darwin-unknown-arm64.tar.gz
npm ERR! node-pre-gyp WARN Pre-built binaries not installable for [email protected] and [email protected] (node-v115 ABI, unknown) (falling back to source compile with node-gyp)
npm ERR! node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.11.2/canvas-v2.11.2-node-v115-darwin-unknown-arm64.tar.gz
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | arm64
npm ERR! gyp info ok
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | arm64
npm ERR! gyp info find Python using Python version 3.9.6 found at "/Library/Developer/CommandLineTools/usr/bin/python3"
npm ERR! gyp info spawn /Library/Developer/CommandLineTools/usr/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/isma/Library/Caches/node-gyp/20.12.2/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/Users/isma/Library/Caches/node-gyp/20.12.2',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/isma/Library/Caches/node-gyp/20.12.2/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! /bin/sh: pkg-config: command not found
npm ERR! gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 127 while in binding.gyp. while trying to load binding.gyp
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:271:18)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:518:28)
npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:294:12)
npm ERR! gyp ERR! System Darwin 23.4.0
npm ERR! gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--update-binary" "--module=/Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas/build/Release" "--napi_version=9" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v115"
npm ERR! gyp ERR! cwd /Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas
npm ERR! gyp ERR! node -v v20.12.2
npm ERR! gyp ERR! node-gyp -v v10.0.1
npm ERR! gyp ERR! not ok
npm ERR! node-pre-gyp ERR! build error
npm ERR! node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --update-binary --module=/Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v115' (1)
npm ERR! node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)
npm ERR! node-pre-gyp ERR! stack at ChildProcess.emit (node:events:518:28)
npm ERR! node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1105:16)
npm ERR! node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:305:5)
npm ERR! node-pre-gyp ERR! System Darwin 23.4.0
npm ERR! node-pre-gyp ERR! command "/usr/local/bin/node" "/Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--update-binary"
npm ERR! node-pre-gyp ERR! cwd /Users/isma/Tmp/Torrust/torrust-index-gui/node_modules/canvas
npm ERR! node-pre-gyp ERR! node -v v20.12.2
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.11
npm ERR! node-pre-gyp ERR! not ok
npm ERR! A complete log of this run can be found in: /Users/isma/.npm/_logs/2024-04-17T15_22_31_848Z-debug-0.log
from node-canvas.
If folks come in here continuing to "same" this issue without providing indications of what exactly they ran (not just "I tried everything!") I don't think things are going to get very far. @InvisiBug your error message indicates that you don't have pkg-config
in your PATH, so it doesn't look like you followed the installation instructions.
from node-canvas.
Related Issues (20)
- string-width: Cannot use import statement outside a module HOT 1
- Inflight - Missing Release of Resource after Effective Lifetime
- Failed to use registered font with SvelteKit app on Node server HOT 1
- 'drawImage()', then '.toBuffer('application/pdf')', but the image is fuzzy HOT 1
- The loadImage() method can fail with Request timed out error on older hardware HOT 2
- Mark TextMetrics#fontBoundingBoxAscent etc. as unimplemented HOT 1
- Cannot install canvas on apple silicon HOT 13
- SVG cannot load the image link & font CSS HOT 1
- Move away from GTK 2 to newer libraries on Windows HOT 1
- Unexpected font fallback strategy on Linux
- npm intall not working HOT 9
- Canvas installation failure with Node v20.12.1 HOT 2
- Running electron-builder on Win11 fails when package "pdfjs-dist" is included because of ~/node_modules/canvas HOT 3
- How to use prebuild for AWS lambda? HOT 1
- npm intall not working on node v22 HOT 9
- node-canvas will not install. at all. HOT 6
- loadImage function is not allowing use of await keyword HOT 1
- Canvas fails to import after install HOT 2
- installation error due to the dependency of node-pre-gyp ERR i've spend 1 day's solving this HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-canvas.