2011-08-15 17 views
12

Tôi đang cố gắng di chuyển nhưng tôi vẫn nhận được thông báo lỗi là:Hủy kích hoạt một Gem - "bạn đã kích hoạt rake 0.9.3.beta.1, nhưng Gemfile của tôi yêu cầu rake 0.9.2"

rake aborted! Undefined method prerequisite for nil:NilClass. 

dường như bằng cách nào đó tôi kích hoạt một viên ngọc gọi rake 0.9.3.beta.1 - tuy nhiên tôi đã thay đổi kể từ viên ngọc bundle install và chạy bundle show cào và nó cho thấy rằng rake 0.9.2 được cài đặt. Tôi đang sử dụng Git lần đầu tiên vì vậy tôi nghĩ rằng có thể nó có liên quan đến ứng dụng vẫn đang sử dụng phiên bản beta của cào - nhưng tôi đã thực hiện một cú đẩy và nó cho thấy rằng gemfile đã được cập nhật.

và khi tôi nhìn vào thư viện đá quý, tôi chỉ có thể xem phiên bản rake 0.9.2. Tôi nên tìm ở đâu?

Tôi cũng có cảnh báo Rails: Railtie deprecated - nhưng tôi nghĩ rằng điều này không liên quan gì đến vấn đề di chuyển của tôi. Nó nói với tôi để sử dụng config.app_generators trong config/application.rb thay vì Railtie - nhưng tôi không thể thấy rằng trong tập tin.

Đây là Config/file application.rb

require File.expand_path('../boot', __FILE__) 

# Pick the frameworks you want: 
require "active_record/railtie" 
require "action_controller/railtie" 
require "action_mailer/railtie" 
require "active_resource/railtie" 
require "sprockets/railtie" 
Bundler.require *Rails.groups(:assets) if defined?(Bundler) 

module CrowdshareApp 
    class Application < Rails::Application 
    config.encoding = "utf-8" 
config.filter_parameters += [:password] 
config.assets.enabled = true 
    end 
end 

My Gemfile trông như thế này:

source 'http://rubygems.org' 

gem 'rails', '3.1.0.rc5' 
gem 'sqlite3' 
group :assets do 
    gem 'sass-rails', "~> 3.1.0.rc" 
    gem 'coffee-rails', "~> 3.1.0.rc" 
    gem 'uglifier' 
end 

gem 'jquery-rails' 
group :development do 
    gem 'rspec-rails', '2.0.0.beta.18' 
end 

group :test do 
    gem 'rspec', '2.0.0.beta.18' 
end 

và file Gemfile.lock có sau đây:

GEM 
    remote: http://rubygems.org/ 
    specs: 
    actionmailer (3.1.0.rc5) 
     actionpack (= 3.1.0.rc5) 
     mail (~> 2.3.0) 
    actionpack (3.1.0.rc5) 
     activemodel (= 3.1.0.rc5) 
     activesupport (= 3.1.0.rc5) 
     builder (~> 3.0.0) 
     erubis (~> 2.7.0) 
     i18n (~> 0.6) 
     rack (~> 1.3.1) 
     rack-cache (~> 1.0.2) 
     rack-mount (~> 0.8.1) 
     rack-test (~> 0.6.0) 
     sprockets (~> 2.0.0.beta.12) 
    activemodel (3.1.0.rc5) 
     activesupport (= 3.1.0.rc5) 
     bcrypt-ruby (~> 2.1.4) 
     builder (~> 3.0.0) 
     i18n (~> 0.6) 
    activerecord (3.1.0.rc5) 
     activemodel (= 3.1.0.rc5) 
     activesupport (= 3.1.0.rc5) 
     arel (~> 2.1.4) 
     tzinfo (~> 0.3.29) 
    activeresource (3.1.0.rc5) 
     activemodel (= 3.1.0.rc5) 
     activesupport (= 3.1.0.rc5) 
    activesupport (3.1.0.rc5) 
     multi_json (~> 1.0) 
    arel (2.1.4) 
    bcrypt-ruby (2.1.4-x86-mingw32) 
    builder (3.0.0) 
    coffee-rails (3.1.0.rc.5) 
     actionpack (~> 3.1.0.rc1) 
     coffee-script (>= 2.2.0) 
     railties (~> 3.1.0.rc1) 
     sprockets (>= 2.0.0.beta.9) 
    coffee-script (2.2.0) 
     coffee-script-source 
     execjs 
    coffee-script-source (1.1.2) 
    diff-lcs (1.1.2) 
    erubis (2.7.0) 
    execjs (1.2.4) 
     multi_json (~> 1.0) 
    hike (1.2.0) 
    i18n (0.6.0) 
    jquery-rails (1.0.13) 
     railties (~> 3.0) 
     thor (~> 0.14) 
    mail (2.3.0) 
     i18n (>= 0.4.0) 
     mime-types (~> 1.16) 
     treetop (~> 1.4.8) 
    mime-types (1.16) 
    multi_json (1.0.3) 
    nokogiri (1.5.0-x86-mingw32) 
    polyglot (0.3.2) 
    rack (1.3.2) 
    rack-cache (1.0.2) 
     rack (>= 0.4) 
    rack-mount (0.8.2) 
     rack (>= 1.0.0) 
    rack-ssl (1.3.2) 
     rack 
    rack-test (0.6.1) 
     rack (>= 1.0) 
    rails (3.1.0.rc5) 
     actionmailer (= 3.1.0.rc5) 
     actionpack (= 3.1.0.rc5) 
     activerecord (= 3.1.0.rc5) 
     activeresource (= 3.1.0.rc5) 
     activesupport (= 3.1.0.rc5) 
     bundler (~> 1.0) 
     railties (= 3.1.0.rc5) 
    railties (3.1.0.rc5) 
     actionpack (= 3.1.0.rc5) 
     activesupport (= 3.1.0.rc5) 
     rack-ssl (~> 1.3.2) 
     rake (>= 0.8.7) 
     rdoc (~> 3.4) 
     thor (~> 0.14.6) 
    rake (0.9.2) 
    rdoc (3.9.2) 
    rspec (2.0.0.beta.18) 
     rspec-core (= 2.0.0.beta.18) 
     rspec-expectations (= 2.0.0.beta.18) 
     rspec-mocks (= 2.0.0.beta.18) 
    rspec-core (2.0.0.beta.18) 
    rspec-expectations (2.0.0.beta.18) 
     diff-lcs (>= 1.1.2) 
    rspec-mocks (2.0.0.beta.18) 
    rspec-rails (2.0.0.beta.18) 
     rspec (>= 2.0.0.beta.14) 
     webrat (>= 0.7.0) 
    sass (3.1.7) 
    sass-rails (3.1.0.rc.5) 
     actionpack (~> 3.1.0.rc1) 
     railties (~> 3.1.0.rc1) 
     sass (>= 3.1.4) 
     sprockets (>= 2.0.0.beta.9) 
    sprockets (2.0.0.beta.13) 
     hike (~> 1.2) 
     rack (~> 1.0) 
     tilt (!= 1.3.0, ~> 1.1) 
    sqlite3 (1.3.4-x86-mingw32) 
    thor (0.14.6) 
    tilt (1.3.2) 
    treetop (1.4.10) 
     polyglot 
     polyglot (>= 0.3.1) 
    tzinfo (0.3.29) 
    uglifier (1.0.0) 
     execjs (>= 0.3.0) 
     multi_json (>= 1.0.2) 
    webrat (0.7.3) 
     nokogiri (>= 1.2.0) 
     rack (>= 1.0) 
     rack-test (>= 0.5.3) 

PLATFORMS 
    x86-mingw32 

DEPENDENCIES 
    coffee-rails (~> 3.1.0.rc) 
    jquery-rails 
    rails (= 3.1.0.rc5) 
    rspec (= 2.0.0.beta.18) 
    rspec-rails (= 2.0.0.beta.18) 
    sass-rails (~> 3.1.0.rc) 
    sqlite3 
    uglifier 

Trả lời

18

Hãy thử xóa tệp Gemfile.lock của bạn và chạy lại bundle install.

+9

'bó update' cũng làm việc cho tôi – zires

+0

mát, loại bỏ Gemfile.lock Làm việc cho tôi! Cảm ơn bạn! – jlstr

+2

Loại bỏ Gemfile.lock của bạn có thể thực sự làm hỏng mọi thứ. Có một lý do tại sao nó ở đó. Về cơ bản bạn đang chạy cập nhật gói sẽ cập nhật tất cả các đá quý của bạn lên phiên bản tương thích mới nhất. –

5

Một cách khác phù hợp với tôi là đến Gemfile.lock và thay đổi phiên bản Rake từ 0.9.2.2 thành 0.9.3.beta.1.

+0

khéo léo! Tôi đã sử dụng thủ thuật này để làm cho ri wirk với Ruby 2 + Rails 4. Không phải vì Railties 4 yêu cầu Rdoc ~> 3.4 nhưng Ruby 2 cần Rdoc 4. Hạn chế là thế hệ tiếp theo của Gemfile.lock sẽ làm cho dự án của tôi thất bại nếu Tôi quên chỉnh sửa nó một lần nữa, và tôi chắc chắn tôi sẽ quên nó. – Ando

4

Tôi đã gặp vấn đề tương tự và được giải quyết với sự trợ giúp của các liên kết bên dưới. Họ có thể giúp hiểu một số khái niệm về câu hỏi cụ thể này và cách thức và lý do sử dụng bundle exec rake db:migrate.

Bạn có tùy chọn khác để sử dụng gem uninstall rake và sau đó chọn phiên bản bạn muốn xóa.

Read Before installing rails 3.1

Rake 0.9 and gem version constraints by David Chelimsky

Các vấn đề liên quan