2010-07-19 58 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的地方建立了一个硬连接,并且它工作正常。不是最佳的,我一定会尝试你们下次推荐的。谢谢!