2014-12-27 50 views
1

我想在Windows 7上安裝有Ruby on Rails的脂肪免費CRM,但是當我把命令有錯誤與耙分貝:創建

rake db:create RAILS_ENV=production 

它說

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

常,它會說什麼寶石,我應該安裝,但不是在這種情況下。

我該如何解決這個錯誤?

編輯:

我的一個朋友建議取消註釋mysql2和評論PG上的Gemfile文件中的proyect這樣的:

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

這聽起來像你缺少從你的Gemfile的PG寶石。它是否在開發組?

你可以發佈你的Gemfile嗎?

取消註釋#gem pg

Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby'是一個單獨的錯誤。你從哪裏得到Gemfile?

+0

是的,這就是我的firend說的,你有關於如何發佈Gemfile的建議。 – Juan 2014-12-29 03:35:25

+0

是的,將其複製並粘貼到您的問題中。 – 2014-12-29 03:58:08

+0

好吧,我已經添加了Gemfile。 – Juan 2015-01-02 00:15:14