2010-07-19 59 views
3

我試圖讓Ruby on Rails應用程序免費託管在某處,Heroku看起來就像我的最後一個資源。它應該可以在Linux上運行,並且gem安裝時沒有錯誤,但是每當我運行任何Heroku命令時,它都會吐出幾個錯誤,所有連接並討論失敗的「需求」。我在代碼中查了一下,它說:在Ubuntu上安裝Heroku Lucid Lynx壞了

require 'readline' 

就是這樣。

我試圖安裝libreadline的每一個變體,我可以找到和想到,但沒有任何區別。這裏的任何想法?

+0

小心添加您用來啓動heroku的代碼或將其安裝在應用程序中?你是否也安裝了GIT,並且在你的Rails應用程序中創建了heroku應用程序? – Jimmy 2010-07-19 15:38:13

+0

我弄明白了,但是爲了記錄,我安裝了git,並安裝了heroku gem,但如果我只是輸入'heroku'或'heroku help'或'heroku'任何東西,它會吐出它的錯誤。 – 2010-07-20 15:12:08

回答

4

這可能是因爲您的系統安裝版本的Ruby不是用readline支持構建的。如果是這樣,那麼你可以從源重新安裝它,並選擇正確的configure參數readline支持。這不僅令人討厭,而且意味着您必須自己手動維護更新。

更好的仍然是完全放棄你的系統的Ruby贊成一個與RVM

  1. 請安裝RVM描述here
  2. 安裝libreadline-dev

    $ sudo apt-get install libreadline-dev

  3. 安裝版本的紅寶石(例如1.8.7)

    $ rvm install 1.8.7

    $ rvm --default 1.8.7

  4. 安裝您的軌道和Heroku的寶石RVM紅寶石

    $ gem install rails heroku taps ...#注意沒有須藤下!

  5. 看看您的問題仍然存在

  6. 如果是這樣,那麼這樣做:

    $ cd ~/.rvm/src/ruby-1.8.7-p299/ext/readline

    $ ruby extconf.rb

    $ make

    $ make install

2

Ubuntu的ruby-full package取決於libreadline-ruby,並且應該拉你所需要的一切。如果你已經嘗試安裝一堆單獨的軟件包來安裝ruby,你可能會錯過一些東西。如果是這種情況,請返回並安裝ruby-full。

我有一個script我用它來重建我的Rails環境,只要我安裝最新的Ubuntu。它會安裝Heroku所需的所有內容(這也是我託管我的應用程序的地方)。你可能想看看它,看看有沒有什麼你失蹤。

如果ruby-full沒有把你排序,我會第二個Bjg的建議,並拋棄RVM的系統ruby。

+0

這對我來說非常完美:) – s3v3n 2011-09-22 23:05:15

0

我得到它的工作,但它是一個黑客。我從它的安裝位置(在一些奇怪的地方)搜尋了readline.so文件,並與ruby尋找readline的地方建立了一個硬連接,並且它工作正常。不是最佳的,我一定會嘗試你們下次推薦的。謝謝!