Подтвердить что ты не робот

Не удалось вызвать openssl в рубине

Я установил openssl на моей виртуальной машине ubuntu12.04lts.

Когда я запускаю команду gem, она выдает ошибку.

Ошибка: при выполнении gem (Gem :: Exception)
Невозможно требовать openssl. установить openSSL и перестроить ruby (предпочтительно) или использовать не HTTP-источники

И я также тестирую требование openssl в режиме irb. это дает ошибку.

Loaderror: невозможно загрузить такой файл --openssl
из /usr/local/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55 'require'

У меня есть openssl

$openssl version
OpenSSL 1.0.1 14 mar 2012

Как исправить ошибку?

4b9b3361

Ответ 1

Примечание. Вызовы в rubygems.org устарели - будьте осторожны!

У меня была такая же проблема на Mac OSX после создания ruby2.1.0p0 из источника. У меня уже установлен openssl. Похоже, что ссылка на драгоценные камни нуждалась в освежении. Я побежал:

gem source -r https://rubygems.org/, чтобы удалить

за которым следует

gem source -a https://rubygems.org/ для чтения

После этого я смог успешно выполнить gems install bundler.

Если вы столкнетесь с дополнительными ошибками, вы можете попробовать ./configure --with-openssl-dir=/usr/local/ssl в вашем загруженном ruby ​​файле dir/.

Ответ 2

Я получил эту ошибку, используя debian, где openssl был в /usr/bin.

Следуя предложению jspacek I, реконфигурированный рубин, используя:

./configure --with-openssl-dir=/usr/bin

После make и sudo make install я смог установить рельсы.

Ответ 3

убедитесь, что у вас установлен libssl-dev:

dpkg -s libssl-dev

если нет, установите его:

sudo apt-get -y install libssl-dev

Ответ 4

Если у кого-то еще есть эта проблема, попробуйте переустановить свою версию Ruby с включенным openssl

brew install openssl
rvm reinstall 2.4.0 --with-openssl-dir=`brew --prefix openssl`

Возможно, у вас уже есть openssl, поэтому вы можете игнорировать первый шаг. Это помогло мне.

Ответ 5

Я оставляю этот ответ для ссылок на будущих гуглеров:

Введите все эти команды в свой терминал (OSX), чтобы быть уверенным, что вы сделали все (это то, что в конечном итоге сработало для меня)

rvm get stable
brew update
brew doctor
brew install openssl
rvm install ruby-2.1 (or whatever version)
rvm use (ruby version here)  i.e. rvm use ruby-2.1
rvm gemset create NAME   i.e. rvm gemset create rails41
gem install rails -v 4.1

Наконец-то...

Как отмечали многие комментаторы - вам нужно установить OpenSSL перед компиляцией ruby, прежде чем устанавливать рельсы (или другие драгоценные камни)

Ответ 6

Вы, вероятно, создали Ruby из источника перед установкой OpenSSL. Убедитесь, что вы его установили, а затем попробуйте переконфигурировать и перестроить Ruby.

Ответ 7

Восстановление Ruby после запуска sudo apt-get install libssl-dev libreadline-dev libgdbm-dev может решить эту проблему.

Я нашел это решение здесь.

Ответ 8

для меня это был случай отсутствия зависимостей.

Я думал, что у меня были все зависимости, необходимые для установки ruby, но я тоже получал сообщение openSSL и readline.

Я попытался установить ruby ​​с RVM без прав root, которые не удались, но дал мне список отсутствующих зависимостей. Затем я установил зависимости с менеджером пакетов. я снова попытался установить ruby ​​из исходного кода с самого начала, и все работало нормально

для меня отсутствовали зависимости:

 patch libyaml-devel autoconf gcc-c++
 readline-devel libffi-devel openssl-devel
 automake libtool bison sqlite-devel

но они могут быть разными для вас.

update: Я не помню, откуда именно я нашел этот список, но быстрый поиск нашел похожие списки на следующих страницах, которые также могут помочь вам:

https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-centos-6-with-rvm

http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-ruby-on-rails-on-centos-ubuntu-fedora-from-source.html

Ответ 9

Я получал эту ошибку при установке Ruby с RVM. Ничего не получилось. Я переключился на rbenv. Проблема решена!

Ответ 10

Эти шаги работали для меня:

  • Исправлена ​​установка ruby:

    brew upgrade openssl; openssldir = which openssl rvm переустановить ruby-2.4.2 --with-openssl-dir = $openssldir

  • Удалены и добавлены источники для драгоценных камней

    gem sources -r https://rubygems.org/ gem sources --add https://rubygems.org/

Ответ 11

У меня была похожая проблема, и я пытался ее решить, следуя инструкциям. "Восстановить рубин" является важным шагом!

после установки openssl_devel

cd folder_of_ruby_source_code/ext/openssl  
ruby ./extconf.rb  
make  
make install  

cd folder_of_ruby_source_code  
./configure  
make clean       <= clean is important here
make  
make install  

Ответ 12

Используете ли вы RVM?

Если нет, попробуйте использовать его и посмотрите, исправляет ли он вашу проблему.