Как исправить ошибку при запуске «__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