20

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

八达通文档。

当我跑

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>'

我没有学到任何关于红宝石的知识。

4

8 回答 8

29

我的 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

希望对你有帮助,谢谢

于 2013-01-16T08:12:20.943 回答
20

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

$ sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
$ bundle install
于 2012-09-28T15:53:23.823 回答
20

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

sudo apt-get install ruby-dev

本博文所述。

于 2014-05-15T16:37:19.407 回答
11

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

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

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

于 2012-08-28T14:08:50.697 回答
6

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

sudo apt-get install ruby1.9.3

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

于 2014-06-03T17:47:53.543 回答
1

看来您没有使用 rvm 来管理您的 ruby​​ 安装。我认为最好尝试 rvm,这是一个非常好的指南,您可以在不安装 rails 的情况下停止:ruby with rvm

然后简单

$gem install RedCloth

未管理的红宝石很痛苦,我尽量避免使用它们。

于 2013-04-28T07:33:53.240 回答
0

没有一个答案适用于我的 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
于 2014-10-15T13:15:30.093 回答
0

确保您还安装了该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 上也可以正常工作/构建。

于 2014-10-29T02:14:33.170 回答