Ruby on Rails網站建議在Linux下從源代碼安裝Ruby。 我遇到了一些C庫問題,從乾淨的Ubuntu 9安裝源代碼構建紅寶石。有人嘗試從Ubuntu上安裝ruby&rubygems(最好是unbuntu 9)嗎?
我在網上找到關於在Ubuntu上安裝ruby的所有說明,都涉及到使用預先打包的(基於.deb的)ruby 。顯然,這不是鐵路人員推薦的。
當我做了一個乾淨的Ruby源代碼構建時,我發現Rubygems無法安裝,因爲zlib擴展沒有工作。發生
兩個問題:
1)zlib的擴展未建。
解決方案:
ⅰ)確保ZLIB是在紅寶石源的分機目錄中的安裝文件未註釋,和
ii)確保這些ZLIB ubuntu的軟件包安裝:
aptitude install zlib1g
aptitude install zlib1g-dbg
aptitude install zlib1g-dev
aptitude install zlibc
2)修復上面的問題1(並進行乾淨的ruby重建)之後,zlib仍然無法工作,因爲擴展無法加載。
你可以看到,模塊出現故障運行這一點,並得到輸出「假」來加載:
puts require 'zlib'
我看到這種情況發生的任何數量的分機目錄中的其他C擴展的,所以纔出現成爲這些擴展的更普遍的問題,而不僅僅是特定於zlib的東西。
總結:
- 我的紅寶石打造找到特定的Ruby-C zlib的擴展,但它無法加載zlib的模塊。
- 此行爲似乎發生在/ extn中的其他擴展。
有沒有一種方法,我可以找出爲什麼一個模塊無法加載?某種跟蹤/詳細模式?
可能的重複[爲什麼yaml在生產中不可用?](http://stackoverflow.com/questions/1793693/why-would-yaml-be-unavailable-in-production) – 2011-08-21 23:14:31
其實,其他問題是重複的,這是原創。沒關係。無論如何,由於這是一個常見的誤解,我已經要求RDF'require'來解釋'false'的含義:http://redmine.ruby-lang.org/issues/5210 – 2011-08-21 23:41:46