Не удалось вызвать 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
Как исправить ошибку?
Ответы
Ответ 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?
Если нет, попробуйте использовать его и посмотрите, исправляет ли он вашу проблему.