M1 Macでanyenvを利用してnodenvを入れ、nodeの環境構築をした時のメモです
一癖ありましたので、誰かの参考になれば幸いです
私はfishシェルを利用しているので、パスの設定などはfishになっています。zshを利用している方は変更してください
anyenvをインストール
anyenvのインストールはhomebrewを利用しました。
brewのインストールは省きます。
homebrewはarmネイティブ版を入れました。3.0.0から正式サポートされています。
3.0.0 — Homebrew
brew install anyenv
パスを書き込みます
$ vim ~/.config/fish/config.fish # anyenv set -x PATH $HOME/.anyenv/bin $PATH eval (anyenv init - | source)
パスを書いたらcofigを再読み込みして、念の為セッションも再読み込みします
$ source ~/.config/fish/config.fish $ exec fish -l
anyenvが正常にインストールできたら、versionでも確認して動くか確認しましょう
$ anyenv --version anyenv 1.1.2
続いて初期化処理します
$ anyenv install --init
nodenvインストール
とりあえず、どんなenv環境が使えるか確認します
$ anyenv install -list
nodenvをインストールします
インストール後はまた再読み込みします
$ anyenv install nodenv ~~略~~ Install nodenv succeeded! Please reload your profile (exec $SHELL -l) or open a new session. $ exec fish -l
あれ、nodeがインストールできない
このままnodenvを利用してnodeをインストールしようと思ったのですが、Installing...
のまま終わらない現象になってしまいました。
とりあえずターミナルをRosetta2を利用して開いて実行することにしました。
15系ならarmサポートがされていると聞いていたので、15系ならできるかと思ったのですが、15系もだめでした。
このようにRosettaを使用して開くにチェックを入れてターミナルを開きます。
ターミナルでuname -a
と入力すると、armで動いているかRosetta越しに動いているかわかります。
実行結果の末尾がarm64
ならarmで動いていて、x86_64
ならRosetta越しです
Rosetta越しで開いたターミナルでnodeをインストールします。
$ node install 14.15.4 $ nodenv global 14.15.4 $ node --version 14.15.4
使えるようになりました!
このあとはarmのターミナル(iterm2)でもnodeを実行することができました。