Open3
gemfile・bundler関連の仕様について調査
Gemfile.lockのPLATFORMS表記について
bundler2.2以降だと、mac以外のプラットフォームで実行するには実行元のプラットフォームを指定する必要がある
下記のようにbundle lock --add-platform コマンドで追加し、Gemfile.lockに追記されていればOK
bundle lock --add-platform x86_64-linux
指定するプラットフォームの例
aarch64
ARMの64ビットアーキテクチャ ARM社が開発。
arm64
基本はaarchと同じだがAppleがリリースしているもの。
darwin
Appleが開発したPOSIX準拠のOS。macOSはDarwinにFinderなどのGUIコンポーネントを加えたもの。
11種類のオペレーティング・システムについてまとめてみた#macOSとDarwinの関係とは?
bundle元のプラットフォームは下記のようになると思われる
PLATFORMS
aarch64-linux # Docker(on M1)
arm64-darwin # Mac(M1)
x86_64-linux # Docker(on Intel)
x86_64-darwin # Mac(Intel)
ruby
native extenstion
bundle install中に見かけるやつ。
外部のC、C++などで書かれたライブラリに依存しているgemのインストール時に出る表記。
pg
のインストールに失敗した時、homebrewでpostgresをインストールすると解決したりすることがあったのはこれが原因か
gem install pg
が失敗するときの対処法