[Mac m1] canvas node package 설치 오류
2024. 6. 4. 14:32ㆍ개발/nodejs
# 발생한 에러 로그
npm ERR! code 1
npm ERR! path /...dir.../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 '/...dir.../.nvm/versions/node/v18.17.0/bin/node /...dir.../.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --update-binary --module=/...dir.../node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/...dir.../node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1)
npm ERR! node-pre-gyp info it worked if it ends with ok
npm ERR! node-pre-gyp info using node-pre-gyp@1.0.11
npm ERR! node-pre-gyp info using node@18.17.0 | 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-v108-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-v108-darwin-unknown-arm64.tar.gz
npm ERR! node-pre-gyp WARN Pre-built binaries not installable for canvas@2.11.2 and node@18.17.0 (node-v108 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-v108-darwin-unknown-arm64.tar.gz
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@9.3.1
npm ERR! gyp info using node@18.17.0 | darwin | arm64
npm ERR! gyp info ok
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@9.3.1
npm ERR! gyp info using node@18.17.0 | darwin | arm64
npm ERR! gyp info find Python using Python version 3.12.3 found at "/opt/homebrew/opt/python@3.12/bin/python3.12"
npm ERR! gyp info spawn /opt/homebrew/opt/python@3.12/bin/python3.12
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/...dir.../.nvm/versions/node/v18.17.0/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 '/...dir.../node_modules/canvas/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/...dir.../.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/...dir.../Library/Caches/node-gyp/18.17.0/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=/...dir.../Library/Caches/node-gyp/18.17.0',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/...dir.../.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/...dir.../Library/Caches/node-gyp/18.17.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/...dir.../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! Traceback (most recent call last):
npm ERR! File "/...dir.../.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
npm ERR! import gyp # noqa: E402
npm ERR! ^^^^^^^^^^
npm ERR! File "/...dir.../.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
npm ERR! import gyp.input
npm ERR! File "/...dir.../.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
npm ERR! from distutils.version import StrictVersion
npm ERR! ModuleNotFoundError: No module named 'distutils'
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.onCpExit (/...dir.../.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:325:16)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:514:28)
npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:291:12)
npm ERR! gyp ERR! System Darwin 22.1.0
npm ERR! gyp ERR! command "/...dir.../.nvm/versions/node/v18.17.0/bin/node" "/...dir.../.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--update-binary" "--module=/...dir.../PycharmProjects/viblix-ts/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/...dir.../PycharmProjects/viblix-ts/node_modules/canvas/build/Release" "--napi_version=9" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v108"
npm ERR! gyp ERR! cwd /...dir.../PycharmProjects/viblix-ts/node_modules/canvas
npm ERR! gyp ERR! node -v v18.17.0
npm ERR! gyp ERR! node-gyp -v v9.3.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 '/...dir.../.nvm/versions/node/v18.17.0/bin/node /...dir.../.nvm/versions/node/v18.17.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --update-binary --module=/...dir.../PycharmProjects/viblix-ts/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/...dir.../PycharmProjects/viblix-ts/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v108' (1)
npm ERR! node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/...dir.../PycharmProjects/viblix-ts/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)
npm ERR! node-pre-gyp ERR! stack at ChildProcess.emit (node:events:514:28)
npm ERR! node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1091:16)
npm ERR! node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:302:5)
npm ERR! node-pre-gyp ERR! System Darwin 22.1.0
npm ERR! node-pre-gyp ERR! command "/...dir.../.nvm/versions/node/v18.17.0/bin/node" "/...dir.../PycharmProjects/viblix-ts/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--update-binary"
npm ERR! node-pre-gyp ERR! cwd /...dir.../PycharmProjects/viblix-ts/node_modules/canvas
npm ERR! node-pre-gyp ERR! node -v v18.17.0
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.11
npm ERR! node-pre-gyp ERR! not ok
homebrew 가 설치되어 있지 않을경우 설치
# homebrew 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 설치 확인
brew -v
# Homebrew 4.3.3
1. Pythone3 설치 (미설치 시)
# 파이썬3 설치
brew install python3.12
# brew install python3 로 설치해도 무방
2. 필요한 종속성 설치
brew install pkg-config gdk-pixbuf cairo pango libpng jpeg giflib librsvg
대부분은 이 단계에서 되는듯 하다.
3. 정상 설치여부 확인
pip3 show setuptools
3-1. 정상 설치되지 않았을 경우
# WARNING: Package(s) not found: setuptools 라는 메시지가 표시될 경우
brew install python-setuptools
4. canvas 설치
npm i --save canvas
'개발 > nodejs' 카테고리의 다른 글
| [nodejs] html to image 로 이미지에 글자 및 이미지 넣기 / 한글 깨짐 오류 해결 (0) | 2024.06.26 |
|---|---|
| [Mac] nvm / node.js 설치 (1) | 2024.06.04 |
| nodejs/docker/socket.io(+redis) 여러개의 서버로 채팅 (0) | 2021.11.03 |
| nodejs/docker 환경에서 파일 업로드 이슈 해결 (0) | 2021.11.02 |
| nodejs / tensorflow.js 참고 (0) | 2021.10.25 |