安装RedCloth-4.2.9安装Linux时无法构建gem native扩展
我想在我的电脑上安装Octopress
。 我试着这样做
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 `'
我没有学过任何关于ruby的知识。
您可能已经升级到Mountain Lion
并且还没有使用新的开发包重建您的ruby-1.9.2
安装。
rvm --force install 1.9.2 gem install bundle --no-ri --no-rdoc bundle install
如果您没有正确安装Mountain Lion
开发包,请使用ThoughtBot说明。
我的ubuntu 12.04解决方案是安装ruby1.9.1完整版,可以解决这个问题。
sudo apt-get install ruby1.9.1-full
你可以执行命令:
sudo update-alternatives --config ruby
选择已安装的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
您可以在octopress部署指南页面中找到以下命令:
rake setup_github_pages sudo rake setup_github_pages sudo rake generate sudo rake deploy
希望它对你有所帮助,谢谢
我也安装了Octopress,并且遇到了和你一样的问题。 检查mkmf.log
文件后,我发现没有找到gcc-4.2。 我甚至用命令行工具安装了xcode。 当我制作这样的符号链接时它起作用了:
$ sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2 $ bundle install
我通过运行修复了这个问题
sudo apt-get install ruby-dev
如本博文中所述。
对于Ubuntu 14.04,只需执行以下操作:
sudo apt-get install ruby1.9.3
应该也适用于13.10和13.04。 (未测试)
它表示您没有使用rvm来管理ruby安装。 我认为最好是尝试rvm,这是一个非常好的指南,你可以停止而不安装rails: ruby with rvm
然后简单
$gem install RedCloth
不受管理的ruby是一种痛苦,我尽量避免它们。
我的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
确保您还安装了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中也能正常工作/构建。