0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

npm installができない 

Posted at

直面した問題
・npm installができない

環境

  • macOS: Sequoia 15.6 (Darwin 24.6.0)
  • Node.js: v20.18.0
  • canvas: v2.11.2

出ていたエラー内容

npm install
npm warn deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
npm error code 1
npm error path /Users/yukanakamura/Work/my-project/node_modules/canvas
npm error command failed
npm error command sh -c node-pre-gyp install --fallback-to-build --update-binary
npm error SOLINK_MODULE(target) Release/canvas-postbuild.node
npm error   CXX(target) Release/obj.target/canvas/src/backend/Backend.o
npm error Failed to execute '/Users/yukanakamura/.nvm/versions/node/v20.18.0/bin/node /Users/yukanakamura/.nvm/versions/node/v20.18.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --update-binary --module=/Users/yukanakamura/Work/my-project/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/Users/yukanakamura/Work/my-project/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v115' (1)
npm error node-pre-gyp info it worked if it ends with ok
npm error node-pre-gyp info using node-pre-gyp@1.0.9
npm error node-pre-gyp info using node@20.18.0 | darwin | arm64
npm error 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 error 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 error node-pre-gyp WARN Pre-built binaries not installable for canvas@2.11.2 and node@20.18.0 (node-v115 ABI, unknown) (falling back to source compile with node-gyp) 
npm error 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 error gyp info it worked if it ends with ok
npm error gyp info using node-gyp@10.1.0
npm error gyp info using node@20.18.0 | darwin | arm64
npm error gyp info ok 
npm error gyp info it worked if it ends with ok
npm error gyp info using node-gyp@10.1.0
npm error gyp info using node@20.18.0 | darwin | arm64
npm error gyp info find Python using Python version 3.11.4 found at "/Users/yukanakamura/.pyenv/versions/3.11.4/bin/python3"
npm error gyp info spawn /Users/yukanakamura/.pyenv/versions/3.11.4/bin/python3
npm error gyp info spawn args [
npm error gyp info spawn args '/Users/yukanakamura/.nvm/versions/node/v20.18.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm error gyp info spawn args 'binding.gyp',
npm error gyp info spawn args '-f',
npm error gyp info spawn args 'make',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/yukanakamura/Work/my-project/node_modules/canvas/build/config.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/yukanakamura/.nvm/versions/node/v20.18.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args '/Users/yukanakamura/Library/Caches/node-gyp/20.18.0/include/node/common.gypi',
npm error gyp info spawn args '-Dlibrary=shared_library',
npm error gyp info spawn args '-Dvisibility=default',
npm error gyp info spawn args '-Dnode_root_dir=/Users/yukanakamura/Library/Caches/node-gyp/20.18.0',
npm error gyp info spawn args '-Dnode_gyp_dir=/Users/yukanakamura/.nvm/versions/node/v20.18.0/lib/node_modules/npm/node_modules/node-gyp',
npm error gyp info spawn args '-Dnode_lib_file=/Users/yukanakamura/Library/Caches/node-gyp/20.18.0/<(target_arch)/node.lib',
npm error gyp info spawn args '-Dmodule_root_dir=/Users/yukanakamura/Work/my-project/node_modules/canvas',
npm error gyp info spawn args '-Dnode_engine=v8',
npm error gyp info spawn args '--depth=.',
npm error gyp info spawn args '--no-parallel',
npm error gyp info spawn args '--generator-output',
npm error gyp info spawn args 'build',
npm error gyp info spawn args '-Goutput_dir=.'
npm error gyp info spawn args ]
npm error gyp info ok 
npm error gyp info it worked if it ends with ok
npm error gyp info using node-gyp@10.1.0
npm error gyp info using node@20.18.0 | darwin | arm64
npm error gyp info spawn make
npm error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm error In file included from ../src/backend/Backend.cc:1:
npm error ../src/backend/Backend.h:5:10: fatal error: 'exception' file not found
npm error     5 | #include <exception>
npm error       |          ^~~~~~~~~~~
npm error 1 error generated.
npm error make: *** [Release/obj.target/canvas/src/backend/Backend.o] Error 1
npm error gyp ERR! build error 
npm error gyp ERR! stack Error: `make` failed with exit code: 2
npm error gyp ERR! stack at ChildProcess.<anonymous> (/Users/yukanakamura/.nvm/versions/node/v20.18.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
npm error gyp ERR! System Darwin 24.6.0
npm error gyp ERR! command "/Users/yukanakamura/.nvm/versions/node/v20.18.0/bin/node" "/Users/yukanakamura/.nvm/versions/node/v20.18.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--update-binary" "--module=/Users/yukanakamura/Work/my-project/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/Users/yukanakamura/Work/my-project/node_modules/canvas/build/Release" "--napi_version=9" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v115"
npm error gyp ERR! cwd /Users/yukanakamura/Work/my-project/node_modules/canvas
npm error gyp ERR! node -v v20.18.0
npm error gyp ERR! node-gyp -v v10.1.0
npm error gyp ERR! not ok 
npm error node-pre-gyp ERR! build error 
npm error node-pre-gyp ERR! stack Error: Failed to execute '/Users/yukanakamura/.nvm/versions/node/v20.18.0/bin/node /Users/yukanakamura/.nvm/versions/node/v20.18.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --update-binary --module=/Users/yukanakamura/Work/my-project/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/Users/yukanakamura/Work/my-project/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v115' (1)
npm error node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/Users/yukanakamura/Work/my-project/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)
npm error node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:519:28)
npm error node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1105:16)
npm error node-pre-gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:305:5)
npm error node-pre-gyp ERR! System Darwin 24.6.0
npm error node-pre-gyp ERR! command "/Users/yukanakamura/.nvm/versions/node/v20.18.0/bin/node" "/Users/yukanakamura/Work/my-project/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--update-binary"
npm error node-pre-gyp ERR! cwd /Users/yukanakamura/Work/my-project/node_modules/canvas
npm error node-pre-gyp ERR! node -v v20.18.0
npm error node-pre-gyp ERR! node-pre-gyp -v v1.0.9
npm error node-pre-gyp ERR! not ok
npm error A complete log of this run can be found in: /Users/yukanakamura/.npm/_logs/2025-10-16T01_46_16_280Z-debug-0.log

原因

npm error ../src/backend/Backend.h:5:10: fatal error: 'exception' file not found
npm error     5 | #include <exception>

解決方法

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

まとめ
canvasはネイティブパッケージで、C++のコンパイラが必要だったけど、
コンパイラが壊れていたから再インストールしたら治った
Macのバージョンアップの際に壊れる場合があるらしい

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?