MacのM1でnodebrewを使いNode.jsをインストールすしようとしたら、以下のエラーを吐かれた。
$ nodebrew install-binary stable
結果:
Error: Darwin arm64 is not supported. at /usr/local/bin/nodebrew line 741.
arm64ってことはM1チップ最高じゃんと皮肉を思いつつ、調べるとコンパイルしなければいけないとかなんとか。
コンパイルなんて面倒だなと思いさらに調べるとnodebrew v1.1 だと apple silicon に対応しているらしくコンパイラの必要がないらしい。
バージョンはを確認すると現在1.0.0なので改善する可能性がありそうです。
$ nodebrew -v
結果:nodebrew 1.0.0
コンパイルよりバージョンアップの方が簡単そうとは思ったものの、ググるとNode.jsのアップデート方法しか見つけられず、nodebrewはどうやってアップデートするんだろうと思ったので備忘録を残します。
まったく理解はしていないので、見当違いのことだったら申し訳ないのですが、何かの参考になれば幸いです。
アップデート試行錯誤
homebrewではできないという方もいたのですが面倒だなと思い、ググるとこれでできるっていう人を見かけたので実行。(できなかったのでこの章は飛ばしてください)
$ brew update
$ brew doctor
$ brew upgrade node
結果抜粋:Error: node not installed
あれ、もしかして入ってなかったの?
homebrewに載ってるコマンドでとりあえずもう一回インストールする。
$ brew install nodebrew
なんだかインストールしているご様子。
$ nodebrew -v
結果:nodebrew 1.0.0
変わらないのか。brew upgrade nodeももう一回実行してみたけどエラー。
homebrewがではダメ説が有力な気がするけど、最後の悪あがきでアンインストールして再インストールしてみます。
$ brew rm nodebrew
もう一度インストール。
$ brew install nodebrew
バージョンを確認。
$ nodebrew -v
結果:nodebrew 1.0.0
やっぱりだめなんだ。切ない。いつかの対応に期待ですね。
v1.1へアップデート
よく読めばhomebrewのフォーラムでもGitHubへのリンクが貼ってあった。
gitリンク:https://github.com/hokaccha/nodebrew
参考:【M1 Mac】nodebrew v1.1.0が公式にAppleSiliconに対応したのでNode v16.0.0をインストール
急がば回れ。上記を元に実施。
$ curl -L git.io/nodebrew | perl – setup
.bashrc
か .zshrc
にパスを通すらしい。
export PATH=$HOME/.nodebrew/current/bin:$PATH
かっこよくターミナルでやりたかったが、わからなかったので.bashrcに直接書く。
ファイルの場所参考:/Users/xxx/.bashrc
(xxxはユーザ名)
.zshrc
はなかったので.bashrc
にしました。.zshrc
も.bashrc
もない場合は以下ターミナルで実行で作れます。
(.bashrcの場合のコードなので、.zshrc
を作成したい場合は.zshrc
に書き換えれば.zshrc
も作成できるはず)
$ touch .bashrc
アナログで.bashrc
にテキストエディタで「export PATH=$HOME/.nodebrew/current/bin:$PATH」をコピペで追加し、不安なのでターミナルも再起動したけど、.bashrcを再読み込みも実行。
$ source ~/.bashrc
確認で以下を実行。
$ nodebrew help
動いた。
バージョンを確認。
$ nodebrew -v
結果:nodebrew 1.1.0
おー、バージョンが上がった。
念願のnode.jsをインストール
$ nodebrew install-binary stable
結果:
Installed successfully
やった。最初からおとなしくgithubみてやればよかった。