我正在尝试让Ruby on Rails应用程序在某个地方免费托管,Heroku看起来是我最后的资源。它应该在Linux上工作,gem安装时没有错误,但每当我运行任何Heroku命令时,它都会显示几个错误,它们都是连接在一起的,并且谈论的是一个失败的“要求”。我在代码中查了一下,它说:
require 'readline' 就是这样。
我试着安装了我能找到和想到的所有libreadline的变体,但都没有任何区别。这里有什么想法吗?
发布于 2010-07-20 01:17:30
可能是您系统安装的Ruby版本不是使用readline支持构建的。如果是这样,那么您可以从源代码重新安装它,并为readline支持选择正确的configure参数。这不仅很烦人,还意味着你必须自己手动维护更新。
更好的做法是完全放弃你的Ruby系统,转而使用安装了RVM的系统
libreadline-dev的说明安装RVM$ sudo apt-get install libreadline-dev
$ rvm install 1.8.7
在RVM ruby下$ rvm --default 1.8.7
$ gem install rails heroku taps ... #注意没有sudo!
$ cd ~/.rvm/src/ruby-1.8.7-p299/ext/readline
$ ruby extconf.rb
$ make
$ make install
发布于 2010-07-20 05:46:47
Ubuntu的ruby-full package依赖于libreadline-ruby,应该会把你和它需要的一切都拉进来。如果您尝试通过安装一堆独立的包来安装ruby,那么您可能会遗漏一些东西。如果是这样的话,回去安装ruby-full。
每当我安装最新的Ubuntu时,我都会用一个script来重建我的Rails环境。它还安装了Heroku所需的所有内容(这也是我托管应用程序的地方)。你可能想偷看一下,看看有没有遗漏什么。
如果ruby-full不能解决您的问题,我会采纳Bjg的建议,抛弃系统ruby,转而使用RVM。
发布于 2010-07-20 23:06:13
我让它工作了,但它是一个相当的黑客。我从安装它的地方(在一些奇怪的地方)找到了readline.so文件,并做了一个硬链接,指向ruby正在寻找readline的地方,它起作用了。不是最好的,下一次我一定会尝试你们推荐的。谢谢!
https://stackoverflow.com/questions/3282537
复制相似问题