【问题标题】:Failed to build gem native extension when install RedCloth-4.2.9 install Linux安装 RedCloth-4.2.9 安装 Linux 时无法构建 gem 原生扩展
【发布时间】:2012-08-20 14:13:32
【问题描述】:

我想在我的电脑上安装Octopress。 我试着这样做

Octopress document.

当我跑步时

bundle install

我收到错误消息

An error occured while installing RedCloth (4.2.9), and Bundler cannot continue.
Make sure that `gem install RedCloth -v '4.2.9'` succeeds before bundling.

所以,我跑了

sudo gem install RedCloth -v '4.2.9'

然后,我又收到一条错误消息:

ERROR:  Error installing RedCloth:
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>'

我没有学过任何关于 ruby​​ 的知识。

【问题讨论】:

  • 你有什么 GNU?你有没有为 Ruby 构建 dev 包。

标签: ruby redcloth octopress


【解决方案1】:

我的 ubuntu 12.04 解决方案是安装 ruby​​1.9.1-full 版本,可以解决这个问题。

sudo apt-get install ruby1.9.1-full

你可以执行命令:

sudo update-alternatives --config ruby

选择您已安装的替代红宝石。 然后,执行以下命令完成 octopress 部署:

git clone https://github.com/erizhang/octopress.git octopress
cd octopress/
sudo gem install bundler
sudo gem install RedCloth -v '4.2.9'
bundle install
rake install

您可以从 octopress 部署指南页面找到以下命令:

rake setup_github_pages
sudo rake setup_github_pages
sudo rake generate
sudo rake deploy

希望对你有帮助,谢谢

【讨论】:

  • 在树莓派上工作,谢谢。
  • 这也适用于新的 Terminal.com Debian 7.0 (Wheezy) 终端。欢呼! (刚开始玩 Terminal.com。万岁!)
【解决方案2】:

确保您还安装了 build-essential 软件包。您可以检查使用

dpkg -l | grep build-essential

或者直接安装而不检查

sudo apt-get install build-essential

对于 Ubuntu 14.04.1 LTS 上的我来说,在确保安装了 build-essential 之后,bundle install 命令在 Ruby 1.9.3 上也可以正常工作/构建。

【讨论】:

    【解决方案3】:

    没有一个答案适用于我的 Ubuntu 14.04.1 LTS。升级到 ruby​​ 2.0 为我解决了这个问题:

    sudo apt-get install ruby2.0 ruby2.0-dev
    sudo ln -s /usr/bin/ruby2.0 /usr/bin/ruby
    sudo ln -s /usr/bin/gem2.0 /usr/bin/gem
    sudo gem install bundler
    

    【讨论】:

      【解决方案4】:

      对于 Ubuntu 14.04,只需执行以下操作:

      sudo apt-get install ruby1.9.3
      

      也应该适用于 13.10 和 13.04。 (未测试)

      【讨论】:

      • 我会以install ruby1.9.3 这样做。那里的空间让人有些困惑。
      • @EricAnderson 该空间已被删除。谢谢。
      【解决方案5】:

      我通过运行解决了这个问题

      sudo apt-get install ruby-dev
      

      this blog post 中所述。

      【讨论】:

      • 这解决了我在 Linux Mint 17(基于 Ubuntu 14.04)上的问题。
      • 另见stackoverflow.com/questions/13767725/…。没有安装 ruby​​-dev 包似乎是导致此安装错误的常见原因。
      • 也为我解决了这个问题
      【解决方案6】:

      您似乎没有使用 rvm 来管理您的 ruby​​ 安装。我认为最好是尝试 rvm,这里有一个很好的指南,你可以不安装 rails 停止:ruby with rvm

      那么简单

      $gem install RedCloth
      

      非托管红宝石是一种痛苦,我尽量避免使用它们。

      【讨论】:

        【解决方案7】:

        我也在安装 Octopress,遇到了和你一样的问题。检查mkmf.log 文件后,我发现没有找到gcc-4.2。我什至用命令行工具安装了 xcode。当我制作这样的符号链接时它起作用了:

        $ sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
        $ bundle install
        

        【讨论】:

        • 这对我有用,但只有在我首先获得 gcc-4.2 之后。为此:brew tap homebrew/dupes &amp;&amp; brew install apple-gcc42Credit.
        • 这绝对救了我。谢谢!
        • 如果缺少 apple-gcc42 安装命令行工具 (Xcode 4.3)。 XCode -> Preferences -> Downloads,点击组件按钮,然后点击“命令行工具”旁边的安装。
        • 为小牛队效力。 OS X 10.9。
        【解决方案8】:

        您可能已经升级到Mountain Lion,但尚未使用新的开发包重建您的ruby-1.9.2 安装。

        rvm --force install 1.9.2
        gem install bundle --no-ri --no-rdoc
        bundle install
        

        如果您没有正确安装 Mountain Lion 开发包,请使用 ThoughtBot 说明。

        【讨论】:

          猜你喜欢
          • 2021-05-28
          • 1970-01-01
          • 1970-01-01
          • 2012-09-15
          • 2014-04-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多