2013-05-26 7 views
-1

Я пытаюсь скомпилировать исходный код формы Ruby на моей системе Fedora 16.Как установить Ruby из исходного кода на Fedora 16?

Эти шаги я последовал:

  1. компиляции исходного кода и установить в мой домашний каталог: /home/gongzhen/program/ruby. Когда я запустить ruby -v я получил:

    ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-linux] 
    
  2. Скачать «rubygems-2.0.3.zip» и распаковать его. Запуск ruby setup.rb я получил:

    RubyGems 2.0.3 installed 
    /home/gongzhen/program/rubygems-2.0.3/lib/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- openssl (LoadError) 
    

Он говорит мне, что OpenSSL не может быть загружен.

Кто-нибудь знает, как создать Ruby через исходный код? Я думаю, что версия Ruby является последней, но ей нужны некоторые файлы зависимостей, которых у меня нет.

я попытался запустить OpenSSL версии и получил информацию ниже:

OpenSSL 1.0.0e-fips 6 Sep 2011 

Значит OpenSSL была установлена ​​на моей системе.

+0

Ruby v2.0 включает RubyGems, поэтому его не нужно переустанавливать. Запустите 'gem update --system' для обновления RubyGems. –

+0

На самом деле, когда я запускаю команду $ ruby ​​install rails. Выход: ERROR: команда загрузки: update (LoadError) нет такого файла для загрузки - openssl ОШИБКА: при выполнении gem ... (NoMethodError) undefined method 'invoke_with_build_args' для nil: nilClass. Я все еще думаю, что это проблема openssl. Мне нужно интегрировать openssl с ruby? Как – user1323328

ответ

1

У вас есть openssl-devel? После того, который установлен, вам нужно построить расширение OpenSSL рубина:

cd <source-dir>/ext/openssl 
ruby extconf.rb 
make 
make install 

<source-dir>, где когда-либо у вас есть исходный код рубина на вашей файловой системе.

+0

Я пошел в дом/gongzhen/program/ruby-2.0.0-p195/ext/openssl, и я запустил команду ruby ​​extconf.rb. Результат такой же: проверка на t_open() int -lnsl ... no \ n проверка на socket() в -lsocket .... no \ n проверка assert.h ... yes \ n проверка на openssl/ssl.h ... no \ n. И я запускаю $ make. Я получил: make: Ничего не нужно делать для «всего». Кажется, я уже установлен. – user1323328