Ruby 3.1 を install した
Ruby で何かやろうと思ったけどせっかくなので新しい方をinstallしてみた
色々引っかかったのでもうこれ記事でいいなって思ったので書いた
1年ぶりくらいの brew upgrade rbenv
- 結構時間かかった
- 色々アップデートされてたけどウインドウ閉じちゃって見返せないので割愛
rbenv install --list 打ってみる
> rbenv install --list 2.6.10 2.7.6 3.0.4 3.1.2 jruby-9.3.9.0 mruby-3.1.0 picoruby-3.0.0 rbx-5.0 truffleruby-22.3.0 truffleruby+graalvm-22.3.0 Only latest stable releases for each Ruby implementation are shown. Use 'rbenv install --list-all / -L' to show all local versions.
3.1系の最新は3.1.2なので落としてみる
rbenv install 3.1.2
Installing ruby-3.1.2... ruby-build: using readline from homebrew ruby-build: using gmp from homebrew BUILD FAILED (macOS 11.6.8 using ruby-build 20221101) Last 10 log lines: compiling dln.c compiling localeinit.c In file included from yjit.c:158: ./yjit_iface.c:17:10: fatal error: 'capstone/capstone.h' file not found #include <capstone/capstone.h> ^~~~~~~~~~~~~~~~~~~~~ compiling array.c 1 error generated. make: *** [Makefile:434: yjit.o] Error 1 make: *** Waiting for unfinished jobs....
早速のError
まぁ久しぶりだしね・・・
./yjit_iface.c:17:10: fatal error: 'capstone/capstone.h' file not found
エラーの原因はcapstone
とやらが無いからのようで・・・
yjit_iface.c
これが噂のYJITか・・・!
YJITはこれを使ってるってことなのか
brew install capstone
を打ってみるが既に入っている
ググってみると以下を発見
あ、なるほど、CFLAGSとLDFLAGS渡してあげればいいのか
/usr/local/Cellar
以下に入っていたので
$ export CFLAGS="-I/usr/local/Cellar/capstone/4.0.2/include" $ export LDFLAGS="-L/usr/local/Cellar/capstone/4.0.2/lib"
これで通ってそう...と思ったらまた新たなエラーを踏む
/private/var/folders/6j/q4gjr83j1kn6y1gszxjwdzdh0000gn/T/ruby-build.20221115235314.327.LDBVvA/ruby-3.1.2/lib/fileutils.rb:240:in `mkdir': Permission denied @ dir_s_mkdir - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/Users (Errno::EACCES) from /private/var/folders/6j/q4gjr83j1kn6y1gszxjwdzdh0000gn/T/ruby-build.20221115235314.327.LDBVvA/ruby-3.1.2/lib/fileutils.rb:240:in `fu_mkdir' from /private/var/folders/6j/q4gjr83j1kn6y1gszxjwdzdh0000gn/T/ruby-build.20221115235314.327.LDBVvA/ruby-3.1.2/lib/fileutils.rb:221:in `block (2 levels) in mkdir_p' from /private/var/folders/6j/q4gjr83j1kn6y1gszxjwdzdh0000gn/T/ruby-build.20221115235314.327.LDBVvA/ruby-3.1.2/lib/fileutils.rb:219:in `reverse_each' from /private/var/folders/6j/q4gjr83j1kn6y1gszxjwdzdh0000gn/T/ruby-build.20221115235314.327.LDBVvA/ruby-3.1.2/lib/fileutils.rb:219:in `block in mkdir_p' from /private/var/folders/6j/q4gjr83j1kn6y1gszxjwdzdh0000gn/T/ruby-build.20221115235314.327.LDBVvA/ruby-3.1.2/lib/fileutils.rb:211:in `each' from /private/var/folders/6j/q4gjr83j1kn6y1gszxjwdzdh0000gn/T/ruby-build.20221115235314.327.LDBVvA/ruby-3.1.2/lib/fileutils.rb:211:in `mkdir_p' from ./tool/rbinstall.rb:218:in `makedirs' from ./tool/rbinstall.rb:331:in `prepare' from ./tool/rbinstall.rb:432:in `block in <main>' from ./tool/rbinstall.rb:1127:in `block in <main>' from ./tool/rbinstall.rb:1124:in `each' from ./tool/rbinstall.rb:1124:in `<main>' make: *** [uncommon.mk:383: do-install-all] Error 1
Permission denied !?何故?全然わからん
ググってみると同じような状態の人が見つかる
@BytesGuy Do you have this line export SDKROOT=$(xcrun -sdk macosx --show-sdk-path) in .barhrc or .zshrc?
For me, after i comment this line out, it works fine.
ドンピシャでこれだった
.zshrc
のexport SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"
をコメントアウトすることで解決
これって何で入れたやつだっけ?
これからは.zshrc
に何か書き足すときはコメント入れることにしよう・・・
無事インストール完了