Установите Ruby 2.0 с поддержкой OpenSSL и ReadLine

У меня свежая ВМ Ubuntu 12.04, и я хотел бы установить Ruby 2.0.0-p0. Я могу достаточно легко установить Ruby, но не могу заставить работать гемы.

$ gem install bundler
ERROR:  Loading command: install (LoadError)
cannot load such file -- openssl
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

У меня установлен открытый SSL, поэтому я не совсем уверен, в чем проблема.

$ sudo apt-get install libssl1.0.0 libssl-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libssl-dev is already the newest version.
libssl1.0.0 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Аналогично,

$ which openssl
/usr/bin/openssl

Если я вернусь к установке, меня будут беспокоить две строки.

$ sudo make install
Failed to configure openssl. It will not be installed.
Failed to configure readline. It will not be installed.

Спасибо!

12
задан 27 February 2013 в 16:49

4 ответа

В вашем исходном местоположении cd ext/openssl, а затем ruby extconf.rb. Это сгенерирует make-файл в каталоге ext / openssl . Просто make && sudo make install соберите расширение ruby ​​ openssl и установите .so в соответствующее место.

То же самое ext/readline для поддержки readline.

Тогда вы сможете правильно make рубиновать.

Редактировать : если я не достаточно ясно:

pushd ext/openssl
ruby extconf.rb
make && sudo make install
popd

pushd ext/readline
ruby extconf.rb
make && sudo make install
popd

make
sudo make install
0
ответ дан 27 February 2013 в 16:49

Я столкнулся с той же проблемой, мне пришлось установить следующие два пакета

libssl-dev
libreadline-dev 

, на самом деле я обнаружил, что мне нужно установить следующие пакеты, чтобы получить ruby ​​2.0.0 и postgres 9.2 для компиляции на Ubuntu 13.04 с openssl и readline, поэтому я решил поделиться ими

sudo apt-get -y update
sudo apt-get install -y make g++
sudo apt-get install -y curl git-core python-software-properties
sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev
sudo apt-get install -y libgdbm-dev libreadline6-dev libncurses5-dev
sudo apt-get install -y libpq-dev libffi-dev
0
ответ дан 27 February 2013 в 16:49

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

я думал, что у меня были все зависимости, требуемые устанавливать рубин, но я также получал openSSL и readline ошибку.

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

зависимости, которые отсутствовали для меня, были:

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

но они могут отличаться для Вас.

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

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

3
ответ дан 27 February 2013 в 16:49

При установке ruby ​​2.0 возможно, что установка rubygems 2.0 не была завершена нормально из-за openssl. Убедитесь, что вы указали правильный путь к файлу конфигурации openssl; Вы можете:

find . -type f -name "openssl.cnf"

путь обычно равен $ HOME / .rvm / usr или $ HOME / .rvm / usr / ssl

Затем

[sudo] rvm reinstall ruby-2.0.0-p0 --with-openssl-dir=[openssl.cnf path] --verify-downloads 1

Установка rubygems успешно завершена. Может быть, лучший способ исправить этот путь без переустановки, но это следует сделать.

0
ответ дан 27 February 2013 в 16:49

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

Похожие вопросы: