【发布时间】:2011-03-30 14:13:26
【问题描述】:
我第一次在 rvm 中使用 rails3(我多年来一直在使用 rails2)。尝试启动控制台时,出现此错误:
require': no such file to load -- readline
我用谷歌搜索了一下,这似乎是一个常见问题。大多数解决方案似乎涉及 1) 安装以下内容:sudo apt-get install libncurses5-dev libreadline5-dev
2) 转到 gem 文件夹以获取 readline,运行 ruby extconf.rb 生成生成文件
3)做make和make install
现在,我的 rvm 中没有安装 readline,所以我尝试安装它。但无法弄清楚宝石是什么:gem install readline 没有给出任何结果。我发现的唯一一个是gem install rdp-rb-readline。我安装了两个dev库,安装了rdp-rb-readline gem,进入后面的gem文件夹,运行ruby extconf.rb。这确实生成了一个makefile。但我不能make it 或make install:我收到这些错误:
max-laptop:readline$ make
cc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -DHAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -DHAVE_RL_FILENAME_COMPLETION_FUNCTION -DHAVE_RL_USERNAME_COMPLETION_FUNCTION -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_DEPREP_TERM_FUNCTION -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_BASIC_WORD_BREAK_CHARACTERS -DHAVE_RL_COMPLETER_WORD_BREAK_CHARACTERS -DHAVE_RL_BASIC_QUOTE_CHARACTERS -DHAVE_RL_COMPLETER_QUOTE_CHARACTERS -DHAVE_RL_FILENAME_QUOTE_CHARACTERS -DHAVE_RL_ATTEMPTED_COMPLETION_OVER -DHAVE_RL_LIBRARY_VERSION -DHAVE_RL_EVENT_HOOK -DHAVE_RL_CLEANUP_AFTER_SIGNAL -DHAVE_RL_CLEAR_SIGNALS -DHAVE_RL_VI_EDITING_MODE -DHAVE_RL_EMACS_EDITING_MODE -DHAVE_REPLACE_HISTORY_ENTRY -DHAVE_REMOVE_HISTORY -fPIC -fno-strict-aliasing -g -g -O2 -fPIC -c readline.c
readline.c: In function ‘readline_readline’:
readline.c:82: error: ‘rb_io_t’ undeclared (first use in this function)
readline.c:82: error: (Each undeclared identifier is reported only once
readline.c:82: error: for each function it appears in.)
readline.c:82: error: ‘ofp’ undeclared (first use in this function)
readline.c:82: error: ‘ifp’ undeclared (first use in this function)
make: *** [readline.o] Error 1
现在有点卡住了。我是否遗漏了一些其他基本的东西,我需要制作所需的库/gem/whatever?
感谢任何建议 - 最大
解决方案:
我实际上刚刚解决了这个问题 - 我卸载了 rdp-rb-readline gem,然后做了gem install rb-readline,然后将gem 'rb-readline' 添加到我的应用程序的 Gemfile 中。我想如果它不在通常的地方,它只需要知道在哪里寻找 readline 的东西。我不需要对 extconf.rb 做任何事情,这很好,因为 rb-readline gem 没有。
我在我的问题结束时留下了这个,因为 a) 其他人可能对问题有更好的理解,而不是我的试错方法,b) 以防其他人有同样的问题。
【问题讨论】:
-
我实际上刚刚解决了这个问题 - 解决方案添加到了 OP
-
“后续 gem 文件夹”在哪里?
-
@rogerdpack - 我没有了,但应该是
/home/max/.rvm/gems/ruby-1.9.2-p0/gems/rdp-rb-readline-<version>
标签: ruby-on-rails ruby ruby-on-rails-3 rvm readline