当我尝试在我的VPS上的catarse项目上运行捆绑安装时,此项目所需的许多宝石会返回错误,我无法安装(我是使用:ruby 1.9.2p320)。
例如,返回错误的宝石是:
错误始终以:
开头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.
你可以帮忙搞清楚吗?
答案 0 :(得分:0)
有些宝石需要在本地构建而不是简单地下载。这意味着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。