【Mac/M1/M2】Rosettaでターミナルからアーキテクチャ(arm64/x86_64)に対応する方法
この記事からわかること
- Rosettaとは?
- アーキテクチャ(x86_64)に対応する方法
- エラー:Bad CPU type in executable Something went wrong, firebase has not been installed.の解決方法
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
公式リファレンス:Mac に Rosetta をインストールする必要がある場合
Rosettaとは?
RosettaとはAppleが公式から提供しているソフトウェアで、IntelベースからAppleシリコンベースへ移行したMacにおいてIntelベースのソフトウェアを実行するための機能を提供しています。
M1/M2と呼ばれるものは内部のプロセッサがIntelではなくなってしまったため、Intelベースのソフトウェアを実行するとエラーが発生し思い通りに動作しなくなってしまうことがあります。
両者はそれぞれアーキテクチャが異なりM1/M2は「arm64」、Intel製は「x86_64」となっているようです。ちなみに以下のコマンドでアーキテクチャが確認できます。
$ uname -a
CPUを確認する
CPUを確認するには上部メニューの「」>「このMacについて」をクリック。するとOSのバージョンなどが記載された画面に切り替わります。「プロセッサ」か「チップ」の項目に「Intel Core i5」もしくは「Apple M1」などと記載してあるのでここから確認してあげてください
Rosettaをアクティブにする
Rosettaをアクティブにするにはアプリを右クリックし「情報を見る」から「Rosettaを利用して開く」をクリックします。この際にインストールされていなければポップアップが表示されるのでそれに従ってインストールしてください。
これでRosettaを使用して開くことができたのでIntelベースのソフトウェアを実行することができます。
Bad CPU type in executable Something went wrong, firebase has not been installed.
私の場合はターミナルからFirebase CLをインストールする際にエラーが発生しました。
$ curl -sL https://firebase.tools | bash
Bad CPU type in executable Something went wrong, firebase has not been installed.
翻訳
実行可能ファイルの CPU タイプが正しくありません。何か問題が発生しました。Firebase がインストールされていません。
翻訳してみると原因はやはりCPUのタイプが異なることによるエラーのようです。なので先ほどの手順通りに「Rosettaを利用して開く」にチェックを入れた状態のターミナルから再度実行したところ正常にインストールすることができました。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。