【问题标题】:Unable to install curb gem无法安装遏制宝石
【发布时间】:2013-04-16 05:59:24
【问题描述】:

它给了我的错误

 gem install curb
Building native extensions.  This could take a while...
ERROR:  Error installing curb:
    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 /home/user1/.rvm/gems/ruby-1.9.3-p392/gems/curb-0.8.3 for inspection.
Results logged to /home/user1/.rvm/gems/ruby-1.9.3-p392/gems/curb-0.8.3/ext/gem_make.out

rvm列表

rvm rubies

   ruby-1.9.3-p385 [ broken ]
=* ruby-1.9.3-p392 [ x86_64 ]
   ruby-2.0.0-p0 [ x86_64 ]

# => - current
# =* - current && default
#  * - default


user1@ubuntu:~$ sudo apt-get install libcurl3 libcurl3-gnutls libcurl4-openssl-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libcurl3-gnutls is already the newest version.
libcurl4-openssl-dev is already the newest version.
libcurl3 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

我该如何解决?

【问题讨论】:

    标签: ruby ubuntu curl gem ubuntu-12.10


    【解决方案1】:

    Ubuntu 18.04 中,使用

    sudo apt install libcurl4-openssl-dev
    

    然后安装curb

    gem install curb
    

    【讨论】:

      【解决方案2】:

      在 Ubuntu 14.04 上,除了 PriteshJ 提到的 libcurl 包外,我还必须安装 ruby​​-dev 包才能使其工作:

      sudo apt-get install ruby​​-dev

      【讨论】:

        【解决方案3】:

        我最近在带有 0.9.0 的 ubuntu 14.04 docker 映像上遇到了这个问题,并通过安装 libgmp-dev 解决了这个问题(除了已经提到的路边页面的建议:libcurl3 libcurl3-gnutls libcurl4-openssl-dev) .

        【讨论】:

          【解决方案4】:

          在 Ubuntu 上,可以通过安装以下软件包来满足依赖关系:

          $ sudo apt-get install libcurl3 libcurl3-gnutls libcurl4-openssl-dev
          

          在红帽上:

          $ sudo yum install ruby-devel libcurl-devel openssl-devel
          

          【讨论】:

            【解决方案5】:

            在 Fedora 上我做了sudo yum install curl-devel,然后又做了gem install curb,这对我有用

            【讨论】:

            • 谢谢,这对我也有用,CentOS 6.9 使用单用户 rvm ruby​​ 安装。
            【解决方案6】:

            我记得它使用 curl 库进行本地编译

            所以你需要安装 curl 开发库 尝试安装

            sudo apt-get install libcurl4-openssl-dev
            

            sudo apt-get install libcurl4-gnutls-dev
            

            【讨论】:

            • 第一个命令没问题。第二个给了我sudo apt-get install libcurl4-gnutls-dev The following information may help to resolve the situation: The following packages have unmet dependencies: libcurl4-gnutls-dev : Depends: libcurl3-gnutls (= 7.27.0-1ubuntu1) but 7.27.0-1ubuntu1.1 is to be installed E: Unable to correct problems, you have held broken packages.
            • 我认为忽略它是安全的,因为任何一个命令都可以正常工作,它应该有助于正确安装 gem
            • 第一个命令也帮助我解决了错误。干杯。
            • @Khiet 很高兴有帮助
            • @KarthikT 你确定你面临同样的问题吗?
            猜你喜欢
            • 1970-01-01
            • 2023-03-19
            • 2017-08-10
            • 2012-02-15
            • 2011-01-25
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多