2013-05-26 46 views
-1

我想在我的Fedora 16系統上編譯Ruby表單源代碼。如何從Fedora 16上的源代碼安裝Ruby?

這是我遵循的步驟:

  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時。輸出是:錯誤:加載命令:更新(LoadError) 沒有這樣的文件加載 - openssl 錯誤:執行gem時(NoMethodError) 未定義的方法'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>是在以往任何時候你有你的文件系統中的Ruby源代碼。

+0

我去了home/gongzhen/program/ruby​​-2.0.0-p195/ext/openssl,我運行命令ruby extconf.rb。輸出如下:檢查t_open()int -lnsl ... no \ n檢查socket()in -lsocket .... no \ n檢查assert.h ...是\ n檢查openssl/ssl.h ... no \ n。我運行$ make。我得到了:make:沒有爲「全部」完成。好像我已經安裝了。 – user1323328