2013-09-02 36 views
8

Vì vậy, trong nhiệm vụ của tôi để có được môi trường làm việc ruby ​​dev, tôi đã gặp một vấn đề dường như ... gây nhầm lẫn với noob ruby ​​này.Đá quý Sqlite3 không tải, đá quý được cài đặt và được chỉ định trong dự án

Khi thực hiện đường ray máy chủ, nó khởi động như mong đợi, nhưng khi bạn đặt vào localhost: 3000 để trình duyệt web tiêu chuẩn của bạn, nó trả lời như sau:

rõ 'sqlite3' cho bộ chuyển đổi cơ sở dữ liệu, nhưng đá quý không được tải. Thêm gem 'sqlite3' vào Gemfile của bạn.

Bây giờ, đây là phần khó hiểu. Tôi đã sqlite3 cài đặt (phiên bản 64 bit, vì đó là những gì tôi đã tải về, và đang chạy một hệ điều hành 64 bit), như xác nhận qua sự truy vấn đá quý (đây là danh sách đầy đủ của đá quý)

Gems

Gỡ cài đặt và reisntalling đã không làm một liếm tốt cho vấn đề ở bàn tay, nhưng nó đã cài đặt mà không có một xô. Ngoài ra gemfile cho dự án mà tôi đang thử nghiệm này với là folliwing

source 'https://rubygems.org' 

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '4.0.0' 

# Use sqlite3 as the database for Active Record 
gem 'sqlite3' 

# Use SCSS for stylesheets 
gem 'sass-rails', '~> 4.0.0' 

# Use Uglifier as compressor for JavaScript assets 
gem 'uglifier', '>= 1.3.0' 

# Use CoffeeScript for .js.coffee assets and views 
gem 'coffee-rails', '~> 4.0.0' 

# See https://github.com/sstephenson/execjs#readme for more supported runtimes 
# gem 'therubyracer', platforms: :ruby 

# Use jquery as the JavaScript library 
gem 'jquery-rails' 

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks 
gem 'turbolinks' 

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
gem 'jbuilder', '~> 1.2' 

group :doc do 
    # bundle exec rake doc:rails generates the API under doc/api. 
    gem 'sdoc', require: false 
end 

# Use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Use Capistrano for deployment 
# gem 'capistrano', group: :development 

# Use debugger 
# gem 'debugger', group: [:development, :test] 

Như bạn thấy, sqlite3 được quy định trong Gemfile khá sớm, nhưng vì lý do gì khi tôi cố gắng để tải trang chính , nó hoạt động như nó không có ở đó.

Cụ thể cho máy này là thích hợp sau đây không được đề cập trước đó trong phần đá quý:

Rails 4 Ruby 2 Windows 7

Bất cứ ai đã từng chạy vào trước khi điều này?

+0

Có bạn có dll sqlite trong đường dẫn? – Bala

+0

@bala Tôi đã không ở thời điểm tin nhắn của bạn (giả sử khi cài đặt đá quý nó cài đặt tất cả các phụ thuộc ... cho thấy những gì giả định được bạn), vì vậy tôi đã tải sqlite3.dll từ http://www.sqlite.org/download .html và đặt nó trong E: \ Programs \ Ruby200-x64 \ lib \ ruby ​​\ gems \ 2.0.0 \ gems \ sqlite3-1.3.8-x64-mingw32 \ lib \ sqlite3 \ 2.0 (là một phần của đường dẫn của tôi nếu nó bao gồm tất cả các thư mục con) với cùng một kết quả. – canadiancreed

+0

bạn có thể thử sau khi thả dll tại đường dẫn ruby ​​\ bin. – Bala

Trả lời

20

Tôi vừa gặp sự cố này. Đi vào tệp Gemfile.lock của bạn và tìm kiếm mục nhập 'sqlite3'. Bạn sẽ lưu ý nó đọc sqlite3 (1.3.8-x86-mingw32). Thay đổi điều đó thành sqlite3 (1.3.8-x64-mingw32) và sau đó chạy lệnh bundle install và mọi thứ sẽ hoạt động như bình thường.

0

Chạy bundle install từ thư mục dự án. Điều đó sẽ cập nhật Gemfile.lock. Bạn cũng phải khởi động lại máy chủ Rails.

Cũng xem config/database.yml chỉ định đá quý nào sẽ sử dụng cho cơ sở dữ liệu.

development: 
    adapter: sqlite3 
    database: db/test.sqlite3 
    pool: 5 
    timeout: 5000 
1

Tôi gặp vấn đề tương tự và điều này có vẻ là vấn đề Env cụ thể của Windows 7. Vấn đề của tôi đã được giải quyết với bên dưới thay đổi

Đi vào tập tin Gemfile.lock bạn và cập nhật sqlite3 (1.3.8-x86-mingw32) để sqlite3 (1.3.8-x64-mingw32)

+0

NÀY LÀ QUYỀN! – Gank

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