RubyおよびReactネイティブの世界には、ソースからRubyなどのソフトウェアを構築するための非常に一般的な方法(抽象化層の下で)を使用するツールバージョンマネージャがあります。
./configure
./make
./make install
...上記の抽象化では、これらのコマンドにさまざまなオプションを渡します。
私のM1 MacBook Proは、私が実行しているアーキテクチャをビルドが認識できるようにコマンドラインオプションを渡すときに注意する必要があることに気付きました。たとえば、
export CONFIGURE_OPTS="--build aarch64-apple-darwin20"; asdf install ruby 2.6.6
asdf install
...これらのエラーによって構成が中断されるのを防ぎますmachine not recognised
。
詳しくは、config.sub
2007年に作成されたビルドディレクトリにファイルがあります。 arm64アーキテクチャについては何も知りません。
./configure
別のプロジェクトで2021バージョンのconfig.subを交換して再試行すると、成功するため、問題がここにあると確信しています。
asdf install...
私は、M1コンピュータに同じプロセスで同じソフトウェアをインストールした同僚がそのような問題を経験していないことに驚きました。
これはasdf
具体的ではありません。 CocoaPodsによってインストールされた依存関係と同じ問題があり、これはおよびをconfigure
使用するすべての基盤にもありましたmake
。同様に、私の同僚にも問題はありませんでした。
他の人のコンピュータ(または自分のコンピュータ)にあるものは、config.subの結果を上書きします。それ以外の場合は、別のconfig.subコピーを提供する必要があります。混乱しています。
アップデート:「作業」マシンと私のマシンの間の重要な違いの1つは、unameの出力のようです。
私のもの:
Darwin 192.168.1.102 20.6.0 Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:27 PDT 2021; root:xnu-7195.141.2~5/RELEASE_ARM64_T8101 arm64 arm64 MacBookPro17,1 Darwin
他の人:
Darwin Joes-MacBook-Pro.local 20.5.0 Darwin Kernel Version 20.5.0: Sat May 8 05:10:31 PDT 2021; root:xnu-7195.121.3~9/RELEASE_ARM64_T8101 arm64
特に他の人のマシンと私のマシンのレポートですuname -p
。arm
arm64