rake db:create有错误

时间:2014-12-27 16:50:35

标签: ruby-on-rails ruby

我试图在Windows 7上使用ruby在rails上安装无脂crm,但是当我发出命令时

rake db:create RAILS_ENV=production

它说

rake aborted!
LoadError: cannot load such -- 2.1/pg_ext

通常,它会说我应该安装什么样的宝石,但在这种情况下不会。

如何解决此错误?

修改

我的一位朋友建议取消注释mysql2并在proyect中的Gemfile文件中注释pg,如下所示:

gem 'mysql2'
#gem 'sqlite3'
#gem 'pg'

但现在我明白了:

Unable to load the EventMachine C extension; To use the pure-ruby reactor, requi
re 'em/pure_ruby'
C:/Ruby21/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': ca
nnot load such file -- 2.1/rubyeventmachine (LoadError)

对于为什么会发生这种情况有任何想法吗?

这是我的Gemfile:

source 'https://rubygems.org'

# Uncomment the database that you have configured in config/database.yml
# ----------------------------------------------------------------------
gem 'mysql2'
# gem 'sqlite3'
# gem 'pg'

# Removes a gem dependency
def remove(name)
  @dependencies.reject! {|d| d.name == name }
end

# Replaces an existing gem dependency (e.g. from gemspec) with an alternate source.
def gem(name, *args)
  remove(name)
  super
end

# Bundler no longer treats runtime dependencies as base dependencies.
# The following code restores this behaviour.
# (See https://github.com/carlhuda/bundler/issues/1041)
spec = Bundler.load_gemspec( File.expand_path("../fat_free_crm.gemspec", __FILE__) )
spec.runtime_dependencies.each do |dep|
  gem dep.name, *(dep.requirement.as_list)
end

# Remove premailer auto-require
gem 'premailer', :require => false

# Remove fat_free_crm dependency, to stop it from being auto-required too early.
remove 'fat_free_crm'

group :development do
  # don't load these gems in travis
  unless ENV["CI"]
    gem 'thin'
    gem 'quiet_assets'
    gem 'capistrano'
    gem 'capistrano-bundler'
    gem 'capistrano-rails'
    gem 'capistrano-rvm'
    #~ gem 'capistrano-chruby'
    #~ gem 'capistrano-rbenv'
    gem 'guard'
    gem 'guard-rspec'
    gem 'guard-rails'
    gem 'rb-inotify', :require => false
    gem 'rb-fsevent', :require => false
    gem 'rb-fchange', :require => false
  end
end

group :development, :test do
  gem 'rspec-rails', '~> 2'
  gem 'headless'
  gem 'debugger', :platforms => 'mri_19' unless ENV["CI"]
  gem 'byebug', :platforms => ['mri_20', 'mri_21'] unless ENV["CI"]
  gem 'pry-rails' unless ENV["CI"]
end

group :test do
  gem 'capybara'
  gem 'selenium-webdriver'
  gem 'database_cleaner'
  gem "acts_as_fu"
  gem 'factory_girl_rails'
  gem 'zeus' unless ENV["CI"]
  gem 'coveralls', :require => false
  gem 'timecop'
end

group :heroku do
  gem 'unicorn', :platform => :ruby
  gem 'rails_12factor'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier',     '>= 1.0.3'
  gem 'execjs'
  gem 'therubyracer', :platform => :ruby unless ENV["CI"]
end

gem 'turbo-sprockets-rails3'

1 个答案:

答案 0 :(得分:1)

听起来你错过了Gemfile中的pg gem。是在开发组吗?

你可以发布你的Gemfile吗?

取消注释#gem pg

Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby'是一个单独的错误。你从哪里得到那个Gemfile?

相关问题