Apple M1 CPU と Intel CPU では CPUアーキテクチャ(命令文やデータ形式)も異なり バイナリファイル(実行可能なファイル)の中身も別物になる ※M1搭載のMacで従来(Intel CPU搭載Mac)向けのバイナリが実行できるのは Rosetta 2というアプリケーションでM1向けバイナリに変換したものを実行しているため また、macOSの実行ファイル形式Mach-Oでは複数のアーキテクチャのバイナリを格納することが可能で 複数のアーキテクチャ向けバイナリを格納したバイナリをユニバーサルバイナリと呼んだりする バイナリファイルのアーキテクチャを調べる file ファイル名 コマンドで調べることができる # Intel CPU向けバイナリの場合 $ file file ./foo/bar/hoge ./foo/bar/hoge: Mach-O 64-bit execut