MacOS 11ビッグサーでASDFとErlangインストールのための修正



問題
MacOS 11ビッグシュールでErlangをインストールするという問題があります
私は私のローカルエリクサーとErlangアプリケーションのバージョンを管理するためにASDF(https://github.com/erlang/otp/pull/2865)を使用します.最近、私はインストールしたいときにASLANGバージョンを指定しました.ツールバージョンファイルのエラーが表示されます.
You are natively building Erlang/OTP for a later version of MacOSX
  than current version (11.1). You either need to
  cross-build Erlang/OTP, or set the environment variable
  MACOSX_DEPLOYMENT_TARGET to 11.1 (or a lower version).
https://asdf-vm.com/#/
解決策
私はどうにかこれを克服した.私の戦略は、Erlangインスタンス- kerl ( )をビルドして管理するために別のツールを使用して所望のErlangバージョンをインストールすることでした.
問題解決の手順
  • Kerlをインストールしました.$ brew install kerl
  • Kerlの設定オプションを設定します.$ export KERL_CONFIGURE_OPTIONS="--disable-debug --without-javac"
  • Erlangのバージョンをビルドしてみてください.この例ではバージョン1.1.3.8をインストールしています.別のバージョンが必要な場合は、21.3.8に置き換えてください.$ kerl build 21.3.8 21.3.8
  • OTP設定ファイルを開きます(私はあなたがVSCODEを使用していると仮定します-それはあなたがcodeを見ることができる理由です.$ code ~/.kerl/builds/21.3.8/otp_src_21.3.8/configure.in
  • はその線を見つける#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > $int_macosx_versionを返します.#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > $int_macosx_version && false
  • もう一度ビルドしてみましょう.今すぐ動作するはずです.いくつかの時間がかかるので、患者!$ kerl build 21.3.8 21.3.8
  • あなたのASDFディレクトリの新しいバージョンのディレクトリを作成します.$ mkdir ~/.asdf/installs/erlang/21.3.8
  • erlangをkerl経由でASDFにインストールしました.$ kerl install 21.3.8 ~/.asdf/installs/erlang/21.3.8
  • あなたのコンソールを閉じて、再び開きます(または開いている新しいウィンドウ)とプロジェクトに行きます.ASDFインストールを実行して、ElxirとErlangのバージョンをインストールします.$ asdf install
  • あなたのElixirアプリをコンパイルします.$ mix compile
  • そして、それ!
    任意のコメントや質問がある場合は、Twitterで私を見つける: