Tidak dapat menginstal Ruby 3.0.0 di MacOS, tetapi dapat menginstal Ruby 2.7.2.
Kesalahan:
Installing Ruby from source to: /Users/dounx/.rvm/rubies/ruby-3.0.0, this may take a while depending on your cpu(s)...
ruby-3.0.0 - #downloading ruby-3.0.0, this may take a while depending on your connection...
ruby-3.0.0 - #extracting ruby-3.0.0 to /Users/dounx/.rvm/src/ruby-3.0.0 - please wait
ruby-3.0.0 - #configuring - please wait
Error running ' CFLAGS=-O3 -I/usr/local/opt/libyaml/include -I/usr/local/opt/libksba/include -I/usr/local/opt/readline/include -I/usr/local/opt/zlib/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/libksba/include -I/usr/local/opt/readline/include -I/usr/local/opt/zlib/include -I/usr/local/opt/[email protected]/include LDFLAGS=-L/usr/local/opt/libyaml/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/[email protected]/lib ./configure --prefix=/Users/dounx/.rvm/rubies/ruby-3.0.0 --disable-install-doc --enable-shared',
please read /Users/dounx/.rvm/log/1615019173_ruby-3.0.0/configure.log
There has been an error while running configure. Halting the installation.
Masuk /Users/dounx/.rvm/log/1615019173_ruby-3.0.0/configure.log
:
__rvm_log_dotted:23: permission denied:
rvm install 3.0.0
Instal Ruby 3.0.0 secara normal.
Modus debug :
ruby-2.7.2:
system:
uname: "Darwin bogon 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64"
name: "OSX"
version: "11.2"
architecture: "x86_64"
bash: "/bin/bash => GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin20)"
zsh: "/bin/zsh => zsh 5.8 (x86_64-apple-darwin20.0)"
remote_path: "osx/11.2/x86_64"
xcode: "12.4"
rvm:
version: "1.29.12 (latest)"
updated: "20 minutes 21 seconds ago"
path: "/Users/dounx/.rvm"
autolibs: "[4] Allow RVM to use package manager if found, install missing dependencies, install package manager (only OS X)."
ruby:
interpreter: "ruby"
version: "2.7.2p137"
date: "2020-10-01"
platform: "x86_64-darwin20"
patchlevel: "2020-10-01 revision 5445e04352"
full_version: "ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin20]"
homes:
gem: "/Users/dounx/.rvm/gems/ruby-2.7.2"
ruby: "/Users/dounx/.rvm/rubies/ruby-2.7.2"
binaries:
ruby: "/Users/dounx/.rvm/rubies/ruby-2.7.2/bin/ruby"
irb: "/Users/dounx/.rvm/rubies/ruby-2.7.2/bin/irb"
gem: "/Users/dounx/.rvm/rubies/ruby-2.7.2/bin/gem"
rake: "/Users/dounx/.rvm/rubies/ruby-2.7.2/bin/rake"
environment:
PATH: "/Users/dounx/.rvm/gems/ruby-2.7.2/bin:/Users/dounx/.rvm/gems/ruby-2.7.2@global/bin:/Users/dounx/.rvm/rubies/ruby-2.7.2/bin:/Users/dounx/.rvm/bin:/usr/local/opt/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Wireshark.app/Contents/MacOS"
GEM_HOME: "/Users/dounx/.rvm/gems/ruby-2.7.2"
GEM_PATH: "/Users/dounx/.rvm/gems/ruby-2.7.2:/Users/dounx/.rvm/gems/ruby-2.7.2@global"
MY_RUBY_HOME: "/Users/dounx/.rvm/rubies/ruby-2.7.2"
IRBRC: "/Users/dounx/.rvm/rubies/ruby-2.7.2/.irbrc"
RUBYOPT: ""
gemset: ""
Pada awalnya saya memiliki kesalahan berikut:
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin20.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
compiling ./main.c
compiling dmydln.c
compiling miniinit.c
compiling dmyext.c
translating probes probes.d
compiling ast.c
compiling bignum.c
compiling class.c
compiling compar.c
compiling compile.c
compiling complex.c
compiling cont.c
compiling debug.c
. ./vm_opts.h
compiling debug_counter.c
compiling dir.c
compiling dln_find.c
compiling encoding.c
compiling enum.c
compiling enumerator.c
compiling error.c
compiling eval.c
compiling file.c
file.c:39:11: fatal error: 'CoreFoundation/CFString.h' file not found
# include <CoreFoundation/CFString.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~
compiling gc.c
compiling hash.c
1 error generated.
make: *** [file.o] Error 1
make: *** Waiting for unfinished jobs....
++ /scripts/functions/support : __rvm_make() 383 > return 2
Saya mencoba memperbaikinya dengan menjalankan export MACOSX_DEPLOYMENT_TARGET=10.14
seperti yang disarankan di https://superuser.com/questions/1488979/macos-catalina-cannot-find-usr-include-file
Kemudian saya mengalami kesalahan berikut:
compiling dmydln.c
compiling miniinit.c
compiling dmyext.c
translating probes probes.d
compiling ast.c
compiling bignum.c
compiling class.c
compiling compar.c
compiling compile.c
compiling complex.c
compiling cont.c
compiling debug.c
. ./vm_opts.h
compiling debug_counter.c
compiling dir.c
compiling dln_find.c
In file included from debug.c:27:
./vm_callinfo.h:176:9: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
rp(ci);
^
./internal.h:95:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
^
In file included from debug.c:27:
./vm_callinfo.h:217:16: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
if (debug) rp(ci);
^
./internal.h:95:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
^
2 errors generated.
make: *** [debug.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from compile.c:39:
./vm_callinfo.h:176:9: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
rp(ci);
^
./internal.h:95:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
^
In file included from compile.c:39:
./vm_callinfo.h:217:16: error: use of undeclared identifier 'RUBY_FUNCTION_NAME_STRING'
if (debug) rp(ci);
^
./internal.h:95:72: note: expanded from macro 'rp'
#define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING)
^
2 errors generated.
make: *** [compile.o] Error 1
++ /scripts/functions/support : __rvm_make() 383 > return 2
Jadi tidak yakin bagaimana cara memperbaikinya. :)
Sebagai solusi sementara, menjalankan rbenv install 3.0.0
setelah menginstal https://github.com/rbenv/rbenv tampaknya berfungsi tetapi membutuhkan waktu lama.
Solusi yang lebih cepat adalah Anda dapat menginstal Ruby dari Homebrew ( brew install ruby
) yang dikirimkan sebagai biner tetapi menginstal di dalam Homebrew tanpa opsi untuk mengganti Ruby sistem default.
Anda dapat menggunakan Ruby homebrew dengan RVM:
brew install ruby
rvm mount /usr/local/Cellar/ruby/3.0.0_1
rvm use ext-ruby-3.0.0-p0
brew install ruby
rvm mount /usr/local/Cellar/ruby/3.0.0_1
rvm use ext-ruby-3.0.0-p0
Saya menggunakan metode ini untuk bekerja :P
Saya mencoba mengkompilasi Ruby-3.0.0 secara manual, tidak ada kesalahan. Ini aneh.
Oke, saya menemukan solusi, jalankan saja: rvm install 3.0.0 --with-gcc=clang
Komentar yang paling membantu
Pada awalnya saya memiliki kesalahan berikut:
Saya mencoba memperbaikinya dengan menjalankan
export MACOSX_DEPLOYMENT_TARGET=10.14
seperti yang disarankan di https://superuser.com/questions/1488979/macos-catalina-cannot-find-usr-include-fileKemudian saya mengalami kesalahan berikut:
Jadi tidak yakin bagaimana cara memperbaikinya. :)
Sebagai solusi sementara, menjalankan
rbenv install 3.0.0
setelah menginstal https://github.com/rbenv/rbenv tampaknya berfungsi tetapi membutuhkan waktu lama.Solusi yang lebih cepat adalah Anda dapat menginstal Ruby dari Homebrew (
brew install ruby
) yang dikirimkan sebagai biner tetapi menginstal di dalam Homebrew tanpa opsi untuk mengganti Ruby sistem default.Anda dapat menggunakan Ruby homebrew dengan RVM: