npm startでエラーになり解決した記録。
- MacOS Monterey バージョン12.6
- Node 13.14.0 nodenvを使ってインストールしたもの
nodebrewでnode.jsをインストールしていたが、nodenvでインストールする必要がありインストールしてnpm run startしたところエラーが。 pythonは過去にhomebrewでインストールしていた。しかし、タイトルのエラーが出た。インストールしてあるのに??となった。brew listにはpyenvもインストールしてあったので、pyenvを経由してインストールする必要があるかも、、と推測のもと実行したところ上手くいった。
homebrewでインストールしたものを確認
brew list
結果、python@3.9とpython@3.10とpyenvがあることを確認。
aom certbot giflib libavif libssh2 nodebrew protobuf tcl-tk
apr composer glib libev libtiff oniguruma pyenv tidy-html5
apr-util curl gmp libevent libtool openexr python@3.10 unixodbc
argon2 curl-openssl icu4c libffi libunistring openldap python@3.9 webp
aspell dialog imath libidn libvmaf openssl@1.1 rbenv xz
augeas fontconfig jansson libidn2 libzip pcre readline zstd
autoconf freetds jemalloc libmetalink lz4 pcre2 redis
bash-completion freetype jpeg libnghttp2 m4 php rtmpdump
brotli gd jpeg-turbo libpng mpdecimal php@7.4 ruby-build
c-ares gdbm jpeg-xl libpq mysql php@8.0 six
ca-certificates gettext krb5 libsodium nghttp2 pkg-config sqlite
pyenvインストールし直し
pyenvを一旦アンインストール
brew uninstall pyenv
再インストール
brew install pyenv
pythonをインストール
pyenv install 3.10.8
インストールされたことを確認
pyenv versions
結果
system
3.7.0
* 3.10.1 (set by /Users/bluir/.pyenv/version)
3.10.8
pyenvでインストールしたバージョンを使うように設定する
pyenv global 3.10.8
もう一度pyenv versionsで確認
system
3.7.0
3.10.1
* 3.10.8 (set by /Users/bluir/.pyenv/version)
この後Xcodeが見つからないなどというエラー(gyp:No Xcode or CLT version detected!)が出たがこれもインストールし直したところ(以下コマンドを順番に実行)npm run startはエラー出ずに上手くいった。
$ sudo rm -rf $(xcode-select -print-path)
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install
参考にしたサイト
- https://zenn.dev/kenghaya/articles/9f07914156fab5
- https://qiita.com/yasudadesu/items/1177aa93229e7c4b7a45
- https://oki2a24.com/2016/04/16/uninstall-python3-with-homebrew-in-mac/
- https://offlo.in/blog/npm-no-xcode-gyp.html
homebrewでインストールしたpythonはアンインストールできなかった
Homevrewでインストールしたpythonをアンインストールしたかったが、
brew uninstall python3
以下のように証明書に使われている、、とかで削除ができない。ので一旦放置した。
Error: Refusing to uninstall /usr/local/Cellar/python@3.10/3.10.8
because it is required by certbot, which is currently installed.
You can override this and force removal with:
brew uninstall --ignore-dependencies python3
その他得た知識
HomebrewはmacOS用のパッケージ管理システム。非常に使い勝手が良く、macOSを利用する上では必須。pythonもhomebrewで直接インストールするのではなくpyenvでインストールすべきであった。ちなみにnode.jsはnodenvでバージョン管理した方が便利。(nodenvはhomebrewでインストールする。
コメント