尝试在 Ubuntu 10.04(64 位)上安装 ruby 1.9.2 时,执行以下步骤后出现以下错误:
- 安装依赖项
- ./configure 创建 make 文件
- 制作
- 进行安装
- 使清洁
- ruby -ropenssl -rzlib -rreadline -e "puts :Hello" (如果一切正常,这应该输出 'hello')。,
而不是输出你好,我得到这个:
要求:没有要加载的文件--readline`
在网上搜索后,我找到了这个解决方案:Blockquote
如果您从源代码编译 Ruby,则在执行脚本/控制台时可能会收到此错误:
/usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError) 解决此问题的一种方法是编译 readline,它与红宝石来源:
cd /opt/src/ruby-1.8.5-p2/ext/readline
红宝石 extconf.rb
制作
须藤使安装
这对我完全有用。我的问题是,为什么 ruby 没有一开始就编译它?我忘记了某种配置选项吗?
Ruby 没有自动包含 readline 支持的原因很可能是因为您的系统上没有安装 libreadline 及其开发文件。当您运行./configure时,它会清点您的系统,并使用该数据创建“最佳” Makefile。
获取 libreadline 及其开发文件的最简单方法是安装软件包libreadline-dev。
许多(事实上,大多数)库和编程语言默认不编译 readline(PHP 是另一个例子)。您需要在配置脚本中手动配置或使用此方法进行配置。只要确保在编译 Ruby 时使用相同的选项。