Rvm: Tidak dapat menginstal Ruby 3.0.0 di MacOS

Dibuat pada 6 Mar 2021  ·  3Komentar  ·  Sumber: rvm/rvm

Keterangan

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: 

Langkah-langkah untuk mereproduksi

  1. rvm install 3.0.0

Perilaku yang diharapkan

Instal Ruby 3.0.0 secara normal.

Perilaku sebenarnya

Modus debug :

Informasi lingkungan

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:       ""
MacOS Big Sur bug

Komentar yang paling membantu

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

Semua 3 komentar

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

Apakah halaman ini membantu?
0 / 5 - 0 peringkat