Как исправить ошибку при запуске «__rvm_make -j8»

У меня возникла проблема с установкой Ruby 2.7.1.

Я получаю эту ошибку:

      Error running '__rvm_make -j8',
please read /Users/luqman/.rvm/log/1690926841_ruby-2.7.1/make.log

There has been an error while running make. Halting the installation 

Мой файл журнала полон ошибок, которыми я не могу поделиться здесь, и я просто делюсь его начальной и конечной частью.

Начальная часть это:

      ast.c:115:19: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    rb_funcall(f, rb_intern("set_encoding"), 2, rb_enc_from_encoding(enc), rb_str_new_cstr("-"));
                  ^~~~~~~~~~~~~~~~~~~~~~~~~
./include/ruby/ruby.h:1847:23: note: expanded from macro 'rb_intern'
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
                      ^
./include/ruby/ruby.h:2689:27: note: expanded from macro 'rb_funcall'
        rb_funcallv(recv, mid, \
                          ^~~
./internal.h:2411:54: note: expanded from macro 'rb_funcallv'
        rb_funcallv_with_cc(&rb_funcallv_data, recv, mid, argc, argv); \
                                                     ^~~
ast.c:115:19: note: '{' token is here
    rb_funcall(f, rb_intern("set_encoding"), 2, rb_enc_from_encoding(enc), rb_str_new_cstr("-"));

Конечная часть:

      linking shared-object socket.bundle
93 warnings generated.
53 warnings generated.
make[1]: *** [ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
13 warnings generated.
linking shared-object ripper.bundle
make: *** [build-ext] Error 2
+__rvm_make:0> return 2

Какие шаги я сделал до сих пор:

  • я переустановил рвм
  • Обновленное пиво
  • Улучшенное пиво
  • Обновленный OpenSL

Я также пробовал другие решения из Интернета, которые включают в себя

  • Добавление определенного пути opensSl, например:rvm install 2.7.1 -C --with-openssl-dir=/usr/local/bin/openssl
  • Обновлен Xcode

Моя версия Mac — Ventura 13.2.1.

Ничего не помогло, буду очень признателен за любую помощь в этом отношении!

2 ответа

Сегодня я столкнулся с подобной проблемой, частично из-за того, что пивовар по умолчанию использует openssl 3 (кредит ):

      brew install openssl@1.1
rvm install ruby-2.7.1 --with-openssl-dir=$(brew --prefix openssl@1.1)

и я думаю, что желаемая версия Ruby не поддерживает версию вашей ОС. попробуйте что-нибудь поновее (мне пришлось перейти на версию выше 3.x)

Так что это сработало для меня

brew reinstall openssl@1.1Также проверьте, установлены ли другие версии openssl или нет? Если да, удалите их (например, некоторые используют openssl@3, который мы можем настроить с помощью нашей версии openssl или наоборот)

brew unlink openssl && brew link openssl@1.1 --forceСейчас я устанавливаю только один openssl и удаляю остальные.

      echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc   
export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"
rvm install ruby-2.7.1 --with-openssl-dir=/usr/local/opt/openssl@1.1 --verify-downloads 1

Также эта ссылка может быть полезна для некоторых. rvm делает ошибку j8

Другие вопросы по тегам