3

安装 ruby​​ gems 时出现以下错误。我正在使用 Ubuntu

Installing json (1.7.3) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
        from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from extconf.rb:1:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/json-1.7.3 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/json-1.7.3/ext/json/ext/parser/gem_make.out
An error occured while installing json (1.7.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.7.3'` succeeds before bundling.

我刚刚看到这个链接,不知道如何处理 ubuntu 上的 devkit*.exe 文件。

4

2 回答 2

6

如此 stackoverflow question中所述,您缺少 ruby​​-dev 或 ruby​​-1.9-dev 包。首先安装开发包文件,然后尝试安装 gem。

于 2012-07-15T06:37:58.147 回答
1

我遇到了同样的问题,这些修复都没有奏效。

这是有效的。似乎 Ubuntu 的 .bashrc 在顶部附近有这一行:

# If not running interactively, stop here.
[ -z "$PS1" ] && return

正如评论所暗示的那样,这到此为止。Capistrano 以非交互方式执行命令,因此当它运行 .bashrc 时,文件的其余部分永远不会被获取。

我的 RVM 线在此下方,因此没有正确设置环境以供 capistrano 捆绑。

这些行应该高于上一行:

[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"

希望这可以帮助某人。

于 2013-02-11T04:16:53.167 回答