node-gyp 로 빌드 중 distutils를 못찾는 에러가 발생했습니다.
ModuleNotFoundError: No module named 'distutils'
Traceback (most recent call last):
File "/Users/jeki/node-v16.20.1-darwin-arm64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
import gyp # noqa: E402
^^^^^^^^^^
File "/Users/jeki/node-v16.20.1-darwin-arm64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
import gyp.input
File "/Users/jeki/node-v16.20.1-darwin-arm64/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
from distutils.version import StrictVersion
ModuleNotFoundError: No module named 'distutils'
원인은 python v3.12 부터 distutils이 제거되었기 때문이라고 합니다. 따라서 python 를 python 3.11 로 다운그레이드 하는 방법을 알아보았습니다.
brew install pyenv
pyenv install --list
pyenv install 3.11
pyenv global 3.11
eval "$(pyenv init --path)"
python3 --version