2013-05-12 16 views
7

Tôi là người mới bắt đầu với Ruby. Tôi làm theo các bước trên http://rubyonrails.org/download và cài đặt Ruby trên đường ray và tạo một dự án có tên là "Blog" bằng cách làm theo hướng dẫn youtube. http://www.youtube.com/watch?v=UQ8_VOGj5H8Không thể tìm thấy đá quý hợp lệ cài đặt activerecord-sqlite3-adapter

Nhưng bất cứ khi nào tôi dùng lệnh rails s, nó sẽ cho một lỗi:

C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/rubygems_integ 
ration.rb:214:in `block in replace_gem': Please install the sqlite3 adapter: `ge 
m install activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add 
it to Gemfile.) (LoadError) 

này đang xảy ra với cả hai máy tính xách tay và máy tính của tôi, cả hai đều sử dụng Windows 7. Tôi cố gắng để chạy lệnh gem install activerecord-sqlite3-adapter, nhưng sau đó tôi cho tôi lỗi.

C:\Users\Ouye\blog>gem install activerecord-sqlite3-adapter 
ERROR: Could not find a valid gem 'activerecord-sqlite3-adapter' (>= 0) in any 
repository 
ERROR: Possible alternatives: activerecord-jdbcsqlite3-adapter, activerecord-sq 
lserver-adapter, activerecord-bq-adapter, activerecord-simpledb-adapter, activer 
ecord-mysql2-adapter 

Tôi đã thử tất cả các lựa chọn thay thế ở trên và cập nhật cài đặt nhóm của mình, một số giải pháp thay thế hoạt động và một số thì không. Sau khi tôi đã thử tất cả các lựa chọn thay thế ở trên và chạy "rails s", tôi vẫn gặp lỗi tương tự khi yêu cầu tôi cài đặt bộ điều hợp sqlite3.

Đây là những gì tập đá quý của tôi trông giống như

source 'https://rubygems.org' 

gem 'rails', '3.2.13' 
gem 'sqlite3' 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

Và đây là tất cả các gói trong viên ngọc

Gems included by the bundle: 
    actionmailer (3.2.13) 
    actionpack (3.2.13) 
    activemodel (3.2.13) 
    activerecord (3.2.13) 
    activeresource (3.2.13) 
    activesupport (3.2.13) 
    arel (3.0.2) 
    builder (3.0.4) 
    bundler (1.3.5) 
    coffee-rails (3.2.2) 
    coffee-script (2.2.0) 
    coffee-script-source (1.6.2) 
    erubis (2.7.0) 
    execjs (1.4.0) 
    hike (1.2.2) 
    i18n (0.6.1) 
    journey (1.0.4) 
    jquery-rails (2.2.1) 
    json (1.7.7) 
    mail (2.5.3) 
    mime-types (1.23) 
    multi_json (1.7.3) 
    polyglot (0.3.3) 
    rack (1.4.5) 
    rack-cache (1.2) 
    rack-ssl (1.3.3) 
    rack-test (0.6.2) 
    rails (3.2.13) 
    railties (3.2.13) 
    rake (10.0.4) 
    rdoc (3.12.2) 
    sass (3.2.9) 
    sass-rails (3.2.6) 
    sprockets (2.2.2) 
    thor (0.18.1) 
    tilt (1.4.1) 
    treetop (1.4.12) 
    tzinfo (0.3.37) 

Tôi sẽ rất biết ơn nếu có ai có thể giải quyết vấn đề của tôi.

Trả lời

18

Bạn không thể cài đặt activerecord-sqlite3-adapter làm đá quý, vì bộ điều hợp này đã được tích hợp sẵn với ActiveRecord. Vấn đề không phải là ở activerecord-sqlite3-adapter, nhưng ở chỗ bạn không có sqlite3 như một phần của gói Gem của bạn (được thông báo lỗi này cho chúng ta biết ở cuối: "sqlite3 không phải là một phần của gói.")

để khắc phục nó, thêm nó vào Gemfile của bạn đầu tiên:

# in your Gemfile 
gem 'sqlite3' 

sau đó chạy từ dòng lệnh:

$ bundle install 

Đảm bảo rằng sqlite3 cài đặt một cách chính xác và hiển thị bằng bó Gem của bạn, và everyt hing nên hoạt động.

+2

gem 'sqlite3' đã có trong tệp gem của tôi.Khi tôi chạy lệnh "bundle install", nó cho tôi biết rằng "Gói của bạn đã hoàn thành! Sử dụng' bundle show [gemname] 'để xem vị trí gem được cài đặt", nhưng sqlite3 vẫn còn thiếu trong gói Gem của tôi –

+0

Tôi đồng ý để bình luận cuối cùng của mình. Tôi có nền tảng: ruby ​​do gem 'sqlite3' kết thúc trong gemfile của tôi và nó đã cài đặt gem gem sqlite3. Tôi đã có thể nhìn thấy nó làm việc từ các ví dụ readme trong irb vì vậy tôi biết rằng một phần đang làm việc. Đó là một phiên bản cũ của đường ray khi sqlite3 không phải là một mặc định. Tôi sẽ thử sử dụng phiên bản mới nhất của đường ray. Họ bao gồm một ứng dụng mẫu trong đó, do đó bạn không nên có prblem nhận được rằng để chạy. Chúc may mắn. –

2

Tôi gặp vấn đề tương tự như bạn đang trình bày và sau nhiều lần thử và lỗi, tôi đã tìm thấy một số bước đơn giản để khắc phục sự cố.

Thứ nhất, thêm vào Gemfile của bạn:

gem 'sqlite3', '1.3.5' 

Sau đó chạy trong giao diện điều khiển của bạn:

bundle install 

Và sau đó bạn nên tiến hành thường

+1

Sao chép và dán câu trả lời không thực sự hữu ích, trừ khi bạn đang thêm nội dung mới vào cuộc trò chuyện. –

+1

Nó có vẻ như sao chép-dán, nhưng câu trả lời ở trên đã không được sử dụng phiên bản đá quý, mà không làm việc cho tôi cho đến khi tôi thêm nó. Chỉ muốn chia sẻ các bước chính xác tôi đã làm để khắc phục sự cố –

1

của Ruby 2.0 có vấn đề với sqlite3 và có thể' t chạy. Nếu bạn cần sử dụng sqlite3, bạn sẽ phải hạ cấp xuống 1.9.3. Tôi không có liên kết đến tài liệu về điều này, nhưng tôi biết nếu bạn hạ cấp xuống 1.9.3 bạn sẽ ổn. Tôi sẽ xem liệu tôi có thể tìm thấy liên kết hay không.