Вопрос:

Не удалось собрать Ruby 2.5.0 с помощью rbenv и ruby-build на macOS Sierra

ruby rbenv

3979 просмотра

3 ответа

41 Репутация автора

Я попытался установить ruby ​​2.5.0 с rbenv и ruby-build на macOS Sierra, но это не удалось, и я получил сообщения об ошибках, как показано ниже:

$ rbenv install 2.5.0
Downloading openssl-1.1.0g.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/de4d501267da39310905cb6dc8c6121f7a2cad45a7707f76df828fe1b85073af
Installing openssl-1.1.0g...
Installed openssl-1.1.0g to /Users/hikaru/.rbenv/versions/2.5.0

Downloading ruby-2.5.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.bz2
Installing ruby-2.5.0...

BUILD FAILED (OS X 10.12.6 using ruby-build 20171226)

Inspect or clean up the working tree at 
/var/folders/5q/dy9blchn6fq1_673pm0ybt0h0000gn/T/ruby-
build.20180102205530.13528
Results logged to /var/folders/5q/dy9blchn6fq1_673pm0ybt0h0000gn/T/ruby-build.20180102205530.13528.log

Last 10 log lines:
make[1]: *** Waiting for unfinished jobs....
installing default ripper libraries
compiling ancdata.c
compiling raddrinfo.c
compiling ifaddr.c
installing default socket libraries
linking shared-object zlib.bundle
linking shared-object socket.bundle
linking shared-object ripper.bundle
make: *** [build-ext] Error 2

Я проверил файлы журнала и нашел ошибку ниже:

  ossl_x509cert.c:334:59: error: member reference type 'int' is not a pointer
if (!i2a_ASN1_OBJECT(out, X509_get0_tbs_sigalg(x509)->algorithm)) {
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~  ^

Я понятия не имею, почему происходит эта ошибка. Буду признателен, если вы объясните, как решить эту проблему.

После этого я попытался использовать rbenv install 2.5.0gcc, предоставляемый Xcode на macOS High Sierra, и возникла та же проблема.

Автор: montblanc18 Источник Размещён: 02.01.2018 01:09

Ответы (3)


5 плюса

26499 Репутация автора

У меня работает на той же ОС. О проблеме в ruby-build, которая вызвала эту ошибку, недавно сообщили и исправили.

Обновите rbenv и ruby-build

  • Если вы получаете их из Git:

    cd ~/.rbenv
    git pull
    cd plugins/ruby-build
    git pull
    
  • Если вы получаете их от доморощенного:

    brew update
    brew upgrade rbenv ruby-build
    

и попробуйте еще rbenv install 2.5.0раз.

Если вы используете rbenv & ruby-build homebrew, вы можете попробовать использовать их из git.

Автор: Dave Schweisguth Размещён: 02.01.2018 03:07

0 плюса

41 Репутация автора

Я наконец исправил эту проблему. Когда возникла эта проблема, мой rbenv treid установил ruby ​​2.5.0 с использованием openssl-1.1.0g. Этот openssl был выбран rbenv и ruby-build. В моей среде я установил openssl@1.0.2n_0 от MacPort. Я выбрал этот openssl для установки ruby ​​2.5.0 с помощью rbenv и ruby-build.

$ rbenv versions
  system
* 2.4.0 
$ port installed | grep openssl
  openssl @1.0.2n_0 (active)
$ RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/local --with-gdbm-dir=/opt/local"  rbenv install -v 2.5.0
$ rbenv versions
  system
* 2.4.0 
  2.5.0

Когда я не использовал --with-gdbm-dir=/opt/local, я получил следующее сообщение:

*** Following extensions are not compiled:
gdbm:
    Could not be configured. It will not be installed.
    Check ext/gdbm/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
Автор: montblanc18 Размещён: 11.02.2018 06:01

0 плюса

16 Репутация автора

используйте это, чтобы установить последнюю версию ruby ​​с rbenv

RUBY_CONFIGURE_OPTS="--disable-dtrace" rbenv install 2.5.1
Автор: Moesi Koochio D Размещён: 04.04.2018 04:39
Вопросы из категории :
32x32