1

我将 rdiscount gem 用于我认为可能需要它的东西,但后来我取消了它。当我尝试在 Heroku 上部署应用程序时,我得到以下信息:

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
       /usr/local/bin/ruby extconf.rb
       checking for random()... yes
       checking for srandom()... yes
       checking for rand()... yes
       checking for srand()... yes
       checking size of unsigned long... long
       checking size of unsigned int... int
       no int with size 4
       *** extconf.rb failed ***
       Could not create Makefile due to some reason, probably lack of
       necessary libraries and/or headers.  Check the mkmf.log file for more
       details.  You may need configuration options.
       Provided configuration options:
       --with-opt-dir
       --without-opt-dir
       --with-opt-include
       --without-opt-include=${opt-dir}/include
       --with-opt-lib
       --without-opt-lib=${opt-dir}/lib
       --with-make-prog
       --without-make-prog
       --srcdir=.
       --curdir
       --ruby=/usr/local/bin/ruby
       --with-rdiscount-dir
       --without-rdiscount-dir
       --with-rdiscount-include
       --without-rdiscount-include=${rdiscount-dir}/include
       --with-rdiscount-lib
       --without-rdiscount-lib=${rdiscount-dir}/lib
       Gem files will remain installed in /tmp/build_2dddf5mp2ptjr/vendor/bundle/ruby/1.9.1/gems/rdiscount-2.0.7.1 for inspection.
       Results logged to /tmp/build_2dddf5mp2ptjr/vendor/bundle/ruby/1.9.1/gems/rdiscount-2.0.7.1/ext/gem_make.out
       An error occurred while installing rdiscount (2.0.7.1), and Bundler cannot
       continue.
       Make sure that `gem install rdiscount -v '2.0.7.1'` succeeds before bundling.
 !
 !     Failed to install gems via Bundler.

我已经卸载了 gem gem unistall rdiscount ,但什么也没有。然后我尝试根据heroku错误重新安装它,但仍然没有。

宝石文件:

source 'http://rubygems.org'

gem 'rails', '3.2.11'
gem 'bootstrap-sass', '2.3.0'


group :development, :test do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.11.0'
  gem 'guard-rspec', "1.2.1"
  gem 'guard-spork', '1.4.2'
  gem 'spork', "0.9.2"
  gem 'guard-livereload'
end

group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.2'

group :test do
  gem 'capybara', '1.1.2'
  gem 'rb-fsevent', "0.9.1", :require => false
  gem 'factory_girl_rails', "4.1.0"
end

group :production do
  gem 'pg', '0.12.2'
end
4

1 回答 1

1

Heroku 默认使用 RDiscount 已知问题的 Ruby 1.9.2。

请修改您的 Gemfile 以使用 Ruby 1.9.3 或更高版本:

source :rubygems
ruby "1.9.3"

gem 'rdiscount'

相关 GitHub 问题: https ://github.com/rtomayko/rdiscount/issues/92

相关 StackOverflow 问题: 如何在 Heroku 上使用 rdiscount?

于 2013-04-28T16:03:01.110 回答