安装RedCloth-4.2.9安装Linux时无法构建gem native扩展

thl*_*ood 20 ruby redcloth octopress

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

Octopress文件.

我跑的时候

bundle install
Run Code Online (Sandbox Code Playgroud)

我收到了错误消息

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.
Run Code Online (Sandbox Code Playgroud)

所以,我跑了

sudo gem install RedCloth -v '4.2.9'
Run Code Online (Sandbox Code Playgroud)

然后,我再次收到错误消息:

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>'
Run Code Online (Sandbox Code Playgroud)

我没有学过任何关于红宝石的知识.

Eri*_*ang 29

我的ubuntu 12.04解决方案是安装ruby1.9.1完整版,可以解决这个问题.

sudo apt-get install ruby1.9.1-full
Run Code Online (Sandbox Code Playgroud)

你可以执行命令:

sudo update-alternatives --config ruby
Run Code Online (Sandbox Code Playgroud)

选择已安装的altiernative 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
Run Code Online (Sandbox Code Playgroud)

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

rake setup_github_pages
sudo rake setup_github_pages
sudo rake generate
sudo rake deploy
Run Code Online (Sandbox Code Playgroud)

希望它对你有所帮助,谢谢

  • 这刚刚解决了我在Ubuntu 14.04上的问题. (3认同)

小智 20

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

$ sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
$ bundle install
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用,但只是在我首先获得gcc-4.2之后.要做到这一点:`brew tap homebrew/dupes && brew install apple-gcc42`.[信用](http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion) (5认同)
  • 如果缺少apple-gcc42安装命令行工具(Xcode 4.3).XCode - >首选项 - >下载,单击组件按钮,然后单击"命令行工具"旁边的安装. (2认同)

Rya*_*yan 20

我通过运行修复了这个问题

sudo apt-get install ruby-dev
Run Code Online (Sandbox Code Playgroud)

本博文中所述.


小智 11

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

rvm --force install 1.9.2
gem install bundle --no-ri --no-rdoc
bundle install
Run Code Online (Sandbox Code Playgroud)

如果您没有Mountain Lion正确安装dev软件包,请使用ThoughtBot说明.


Sau*_*rya 6

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

sudo apt-get install ruby1.9.3
Run Code Online (Sandbox Code Playgroud)

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