✨
xcrun: error: invalid active developer path エラーの対処法
rubyのバージョンを3.2.2に変更しようとしたらエラーが出たお話。
実行環境:
・ruby2.6.10
・macOS Monterry バージョン12.6.5(Intel Corei5)
実行コマンド:
rbenv install 3.2.2
エラー内容:
BUILD FAILED (macOS 12.6.5 using ruby-build 20231014)
Inspect or clean up the working tree at /var/folders/70/f48336ys4nvclskl8mt2gkh40000gp/T/ruby-build.20231017203924.65490.2LOTin
Results logged to /var/folders/70/f48336ys4nvclskl8mt2gkh40000gp/T/ruby-build.20231017203924.65490.log
Last 10 log lines:
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL.md file first) ***
*** ***
**********************************************************************
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
調べたところ、どうやらXCodeのxcrunコマンドに参照問題が生じているらしい。
以下のコマンドを実行。
xcode-select --install
さらにバージョン変更するには以下のコードを試みた。
RUBY_CFLAGS=-DUSE_FFI_CLOSURE_ALLOC rbenv install 3.2.2
なんかうまくいっているようだ。
To follow progress, use 'tail -f /var/folders/70/f48336ys4nvclskl8mt2gkh40000gp/T/ruby-build.20231017211758.66021.log' or pass --verbose
Downloading openssl-3.1.3.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/f0316a2ebd89e7f2352976445458689f80302093788c466692fb2a188b2eacf6
Installing openssl-3.1.3...
Installed openssl-3.1.3 to /Users/unohiromi/.rbenv/versions/3.2.2
Downloading ruby-3.2.2.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.gz
Installing ruby-3.2.2...
ruby-build: using readline from homebrew
ruby-build: using libyaml from homebrew
ruby-build: using gmp from homebrew
Installed ruby-3.2.2 to /Users/unohiromi/.rbenv/versions/3.2.2
rubyのバージョンを確認してみる。
ruby -v
あれ、変わってない...
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin21]
さらに調べて、以下を実行。
rbenv local 3.2.2
rbenv global 3.2.2
gem install railties && rbenv rehash
すると、またまたエラーが...
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.
今度はどうやらシステムのrubyを利用しているので、権限不足でgemのインストールができないらしい。
rbenvはインストール済みなので、シェルの設定ファイル(今回は.zshrc)に以下を追加し、rbenvにパスを通してみた。
vi .zshrc
以下を記述して、ターミナルを再起動する。
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
ターミナルのログインにaliasコマンドでreloginを設定。
alias relogin='exec $SHELL -l'
すると、バージョン変更に成功しました!
ruby -v
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-darwin21]
めでたし。めでたし。(ちゃんと理解できてないので、めでたくはない...)
Discussion