【问题标题】:Installing Heroku on Ubuntu Lucid Lynx is broken在 Ubuntu Lucid Lynx 上安装 Heroku 已损坏
【发布时间】:2011-03-17 23:42:27
【问题描述】:

我正在尝试在某个地方免费托管一个 Ruby on Rails 应用程序,而 Heroku 看起来像是我的最后一个资源。它应该可以在 Linux 上运行,并且 gem 安装时没有错误,但是每当我运行任何 Heroku 命令时,它都会吐出几个错误,所有错误都是连接的,并且谈论失败的“要求”。我查了一下代码,上面写着:

require 'readline'  

就是这样。

我尝试安装所有我能找到和想到的 libreadline 变体,但没有任何区别。这里有什么想法吗?

【问题讨论】:

  • 想添加您用来启动 heroku 的代码或将其安装到应用程序上?您还安装了 GIT 吗?您是否在 rails 应用程序中创建了 heroku 应用程序?
  • 我把它修好了,但为了记录,我安装了 git,我安装了 heroku gem,但如果我只是输入 'heroku' 或 'heroku help' 或 'heroku' 任何东西,它会吐出错误。

标签: ruby-on-rails ubuntu heroku readline libreadline


【解决方案1】:

这可能是您系统安装的 Ruby 版本没有使用 readline 支持构建。如果是这样,那么您可以从源代码重新安装它并选择正确的 configure 参数以获得 readline 支持。这不仅烦人,而且意味着您必须自己手动维护更新。

最好还是完全放弃您的系统 Ruby,转而使用安装了 RVM 的系统

  1. 按照here 的描述安装 RVM
  2. 安装libreadline-dev

    $ sudo apt-get install libreadline-dev

  3. 安装一个 ruby​​ 版本(例如 1.8.7)

    $ rvm install 1.8.7

    $ rvm --default 1.8.7

  4. 在 RVM ruby​​ 下安装你的 rails 和 Heroku gems

    $ gem install rails heroku taps ...#注意不要sudo!

  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,每当我安装最新的 Ubuntu 时,我都会使用它来重建我的 Rails 环境。它还安装了 Heroku(我托管我的应用程序的地方)所需的一切。您可能想看一下它,看看是否有您遗漏的东西。

    如果 ruby​​-full 不能解决您的问题,我会采纳 Bjg 的建议并放弃系统 ruby​​ 以使用 RVM。

    【讨论】:

      【解决方案3】:

      我得到了它的工作,但它是一个黑客。我从它的安装位置(在某个奇怪的位置)找到了 readline.so 文件,并做了一个硬链接到 ruby​​ 正在寻找 readline 的位置,并且它有效。不是最佳的,下次我一定会尝试你们推荐的。谢谢!

      【讨论】:

        猜你喜欢
        • 2012-10-11
        • 2011-04-11
        • 2011-12-22
        • 1970-01-01
        • 2015-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-15
        相关资源
        最近更新 更多