PC セットアップメモ
2021/07/28 時点. M1 Mac 向け
DL するアプリ
1Password
設定は iCloud で同期する
Homebrew
code:bash
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/tasuwo/.zprofile
brew install --cask xcodes
Ricty
code:bash
brew tap sanemat/font
# --with-powerline オプションがあるか確認しておく
brew search ricty
brew options ricty
brew install ricty --with-powerline
cp -f /usr/local/opt/ricty/share/fonts/Ricty*.ttf ~/Library/Fonts/
fc-cache -vf
ssh 設定群移動
Cocoapods
Xcodes.app
Xcode 入れないとエラーになる
softwareupdate --install-rosetta
Rubyのセットアップ
基本方針として、なるだけシステムデフォルトの ruby を利用する。rvm や rbenv 経由でインストールすると、そもそもビルドに失敗したり等の問題に当たったため。
code:shell
# rubyのバージョン
$ ruby --version
# Xcodeの設定。今回はこれも重要
$ xcode-select -p
/Applications/Xcode-13.0.0-Beta.4.app/Contents/Developer
# bundler は sudo でインストール
$ sudo gem install bundler
# x86アーキテクチャでcocoapodsをインストールする
arch -arch x86_64 bundle install
すると、以下のようなエラーとなった。
code:sh
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /private/var/folders/0y/xm6428xd30n6gw1xrtm0t4q00000gn/T/bundler20210729-2283-iansqwjson-2.5.1/gems/json-2.5.1/ext/json/ext/generator
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20210729-2283-198u8ay.rb extconf.rb
creating Makefile
current directory: /private/var/folders/0y/xm6428xd30n6gw1xrtm0t4q00000gn/T/bundler20210729-2283-iansqwjson-2.5.1/gems/json-2.5.1/ext/json/ext/generator
make "DESTDIR=" clean
current directory: /private/var/folders/0y/xm6428xd30n6gw1xrtm0t4q00000gn/T/bundler20210729-2283-iansqwjson-2.5.1/gems/json-2.5.1/ext/json/ext/generator
make "DESTDIR="
compiling generator.c
In file included from generator.c:1:
In file included from ./../fbuffer/fbuffer.h:5:
In file included from
/Applications/Xcode-13.0.0-Beta.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby.h:33:
/Applications/Xcode-13.0.0-Beta.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10:
fatal error: 'ruby/config.h' file not found
^~~~~~~~~~~~~~~
/Applications/Xcode-13.0.0-Beta.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10:
note: did not find header 'config.h' in framework 'ruby' (loaded from '/Applications/Xcode-13.0.0-Beta.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks')
1 error generated.
make failed, exit code 2
Gem files will remain installed in /var/folders/0y/xm6428xd30n6gw1xrtm0t4q00000gn/T/bundler20210729-2283-iansqwjson-2.5.1/gems/json-2.5.1 for inspection.
Results logged to /var/folders/0y/xm6428xd30n6gw1xrtm0t4q00000gn/T/bundler20210729-2283-iansqwjson-2.5.1/extensions/universal-darwin-20/2.6.0/json-2.5.1/gem_make.out
# 以下略
どうやら、Xcode に含まれる Ruby framework に問題があるらしい。解決策としては、
システムデフォルトの ruby をやめて、rbenv や rvm でインストールした ruby を利用する
後者の解決策をとってみる。
code:sh
$ cd $(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0
$ ls
ruby/ ruby.h universal-darwin21/
$ ln -s universal-darwin21 universal-darwin20
$ ls
ruby ruby.h universal-darwin20 universal-darwin21
これで、もう一度試すとうまくいった!
code:sh
$ arch -arch x86_64 bundle install
続いて、pod install しようとすると、
code:sh
$ bundle exec pod install
下記のようなエラーとなった
code:bash
LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.0/lib/ffi_c.bundle, 0x0009): could not use '/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.0/lib/ffi_c.bundle' because it is not a compatible arch - /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.0/lib/ffi_c.bundle
これはx86アーキテクチャで実行すると良い
code:bash
$ arch -arch x86_64 bundle exec pod install