安装gem时出错无法构建gem原生扩展 - 无法加载此类文件 - mkmf

Man*_*ndM 5 ruby ruby-on-rails eventmachine mkmf

RoR很好,但有时让我想把头靠在墙上(无论如何这可能是我的错).我只是尝试安装Thinweb-client gem,当我运行时sudo gem install thin,我收到以下错误(它需要先安装eventmachine gem):

    sudo gem install thin
    Fetching: eventmachine-1.0.1.gem (100%)
    Building native extensions.  This could take a while...
    ERROR:  Error installing thin:
            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:2:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我已经搜索了"无法加载此类文件 - mkmf"错误,但大多数问题似乎都围绕着这样一个事实:它在1.8-dev中可用但不是1.8,但是当我运行1.9.3时我认为我有mkmf - 我验证了locate mkmf:

    /home/ubuntu/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb
Run Code Online (Sandbox Code Playgroud)

mkmf所在的目录显然不在/ usr/lib/ruby​​/...目录下 - 我不确定这是否是我的问题,但它可能足以启动你们中的一位专家作为到底发生了什么以及解决方案可能是什么.

另外,我使用RVM安装ruby 1.9.3而不仅仅是gem install...

提前致谢!

小智 5

如果你正在使用RVM,你不应该使用'sudo'.使用sudo调用libs等rvm路径.试试一个单位

gem install thin
Run Code Online (Sandbox Code Playgroud)

看看是否有帮助.

凯文〜


Xar*_*ses 5

我在rvm外面遇到了类似的错误,我发现我需要安装 ruby-devel