0

我正在尝试将 Redcloth 添加到我的 Gem 文件中,当我运行“捆绑安装”时,我得到以下信息:

使用本机扩展安装 RedCloth (4.2.6) /home/user/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:529:in `rescue in阻止 build_extensions':错误:无法构建 gem 原生扩展。(Gem::Installer::ExtensionBuildError)

        /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb

Gem 文件将继续安装在 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/RedCloth-4.2.6 以供检查。
结果记录到 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/RedCloth-4.2.6/ext/redcloth_scan/gem_make.out
    来自 /home/user/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:507:in `block in build_extensions'
    来自 /home/user/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:482:in `each'
    来自 /home/user/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:482:in `build_extensions'
    来自 /home/user/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:156:in `install'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/source.rb:96:in `install'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/installer.rb:55:in `block in run'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/spec_set.rb:12:in `block in each'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/spec_set.rb:12:in `each'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/spec_set.rb:12:in `each'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/installer.rb:44:in `run'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/installer.rb:8:in `install'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/cli.rb:226:in `install'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/vendor/thor/task.rb:22:in `run'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/vendor/thor.rb:246:in `dispatch'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/lib/bundler/vendor/thor/base.rb:389:in `start'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/gems/bundler-1.0.10/bin/bundle:13:in `'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/bin/bundle:19:in `load'
    来自 /home/user/.rvm/gems/ruby-1.9.2-p136@vendorguide/bin/bundle:19:in `'

如果我运行“gem install RedCloth”然后运行“bundle install”,它可以工作,但是当我实际尝试在模型“Vendor.rb”中使用 RedCloth 时,我得到:

未初始化的常量 Vendor::RedCloth

这是我的宝石文件:

宝石'导轨','3.0.3'


宝石“指南针”,“>= 0.10.6”

宝石“哈姆”
宝石'formtastic'

gem '设计', :git => 'git://github.com/plataformatec/devise.git', :branch => 'master'
gem 'oa-oauth', :require => "omniauth/oauth"
宝石“莫格利”
宝石“达利”
宝石'特殊'
宝石'json'
宝石'红布'

组 :test, :development 做
  宝石“红宝石调试19”
  gem "rspec-rails", "~> 2.4"
  gem 'sqlite3-ruby', :require => 'sqlite3'
  宝石“杏”
  宝石'ruby_parser'
  宝石'heroku'
  宝石“长笛”
结尾

组:测试做
  宝石'黄瓜导轨'
  宝石“水豚”
  宝石'database_cleaner'
  宝石“摩卡”
  宝石'factory_girl_rails'
  宝石“应该”
  宝石'ZenTest'
  宝石“假网”
结尾

这是我的模型:

类供应商 ActiveRecord::Base
  has_many :评论
  属于_to:用户

  validates_presence_of :name
  validates_presence_of :描述

  before_save :convert_text

  def 转换文本
    self.description = RedCloth.new(self.description).to_html 除非 self.description.nil?
    self.services_description = RedCloth.new(self.services_description).to_html 除非 self.services_description.nil?
    self.clients_description = RedCloth.new(self.clients_description).to_html 除非 self.clients_description.nil?
    self.pricing_description = RedCloth.new(self.pricing_description).to_html 除非 self.pricing_description.nil?
    self.press = RedCloth.new(self.press).to_html 除非 self.press.nil?
  结尾
结尾

提前致谢。

4

1 回答 1

0

这可能与我今天早上遇到的 RedCloth 问题有关。

我还安装了 RedCloth 4.2.6 版,然后无论我做什么,都无法在 Sinatra 应用程序中使用它。(我遇到了很多类似的错误Uninitialized constant RedCloth。)但是,RedCloth 网站 (http://redcloth.org/) 说最新的稳定版本只有 4.2.2。

我卸载了 4.2.6 并安装了 4.2.2,它运行良好。

尝试将限制添加到您的 Gemfile,即gem 'RedCloth', '4.2.2'

于 2011-02-11T15:20:17.287 回答