0

当我尝试在我的 VPS上的catarse项目上运行捆绑安装时,该项目所需的许多 gem 返回错误并且我无法安装(我正在使用:ruby 1.9.2p320)。

例如返回错误的宝石是:

  • 薄的
  • 事件机
  • 线缓存19

错误总是以以下内容开头:

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

并以:

Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.2-p320@catarse/gems/linecache19-0.5.12 for inspection.
 Results logged to /usr/local/rvm/gems/ruby-1.9.2-p320@catarse/gems/linecache19-0.5.12/ext/trace_nums/gem_make.out
 An error occurred while installing linecache19 (0.5.12), and Bundler cannot continue.
 Make sure that `gem install linecache19 -v '0.5.12'` succeeds before bundling.

你能帮忙弄清楚吗?

4

1 回答 1

0

有些 gem 需要在本地构建,而不是简单地下载。这意味着 gem 中的一些代码不是用 ruby​​ 编写的(通常是 C)。非 ruby​​ 代码需要在本地编译和构建才能运行。在这些情况下,您将需要一个能够编译和构建非 ruby​​ 代码的环境。

这里有一篇关于原生宝石的好帖子:http: //patshaughnessy.net/2011/10/31/dont-be-terrified-of-building-native-extensions

在这种情况下,通常需要跟踪哪些库需要在本地安装才能构建 gem。

我知道 linecache19 存在一些问题,并且有一些问题可以解决这些问题,例如:Installing linecache19 for Ruby 1.9.2 via rvm

于 2012-10-16T10:06:43.603 回答