lỗi cài đặt sqlite3-ruby trên Ubuntu


257

Tôi có lỗi sau khi cài đặt sqlite3-ruby:

Xây dựng phần mở rộng bản địa. Điều này có thể mất một thời gian...
LRI: Lỗi khi cài đặt sqlite3-ruby:
    LRI: Không thể xây dựng phần mở rộng riêng của gem.

/usr/bin/ruby1.8 extconf.rb
kiểm tra sqlite3.h ... không
sqlite3.h bị thiếu. Hãy thử 'port install sqlite3 + Universal' hoặc 'yum install sqlite3-devel'
*** extconf.rb thất bại ***
Không thể tạo Makefile vì một số lý do, có thể thiếu
thư viện cần thiết và / hoặc tiêu đề. Kiểm tra tệp mkmf.log để biết thêm
chi tiết. Bạn có thể cần các tùy chọn cấu hình.

Cung cấp tùy chọn cấu hình:
    - với-opt-dir
    --without-opt-dir
    - với-opt-bao gồm
    --without-opt-include = $ {opt-dir} / bao gồm
    - với-opt-lib
    --without-opt-lib = $ {opt-dir} / lib
    - với-làm-prog
    - không có-làm-prog
    --srcdir =.
    --curdir
    --ruby = / usr / bin / ruby1.8
    - với-sqlite3-dir
    --without-sqlite3-dir
    - với-sqlite3-bao gồm
    --without-sqlite3-include = $ {sqlite3-dir} / bao gồm
    - với-sqlite3-lib
    --without-sqlite3-lib = $ {sqlite3-dir} / lib


Các tệp Gem sẽ vẫn được cài đặt trong /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1 để kiểm tra.
Kết quả được ghi vào /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/gem_make.out

sqlite3.h nằm ở / usr / bao gồm /

đá quý sudo cài đặt sqlite3-ruby --without-sqlite3-include = / usr / include

không làm việc

LRI: Trong khi thực thi đá quý ... (OptionParser :: UnlimitedOption)
    tùy chọn không hợp lệ: --without-sqlite3-include = / usr / include

Ubuntu 10.04


cùng một vấn đề - điều này không được trả lời. sqlite3.h là không tồn tại và tất cả các gói trên được cài đặt. ubunut 10.10
rRT

Hãy thử sudo apt-get install build-Essential và sau đó sudo gem cài đặt sqlite3-ruby
Dmitry

1
nó đã thay đổi thành chỉ sqlite3, không phảisqlite3-ruby
kelloti

3
Làm việc cho tôi trên Ubuntu 12.04 như marshluca đề xuất. sudo apt-get cài đặt libsqlite3-dev
panta

Câu trả lời:


585

Bạn cần các tiêu đề phát triển SQLite3 cho phần mở rộng riêng của gem để biên dịch lại. Bạn có thể cài đặt chúng bằng cách chạy (có thể với sudo):

apt-get install libsqlite3-dev

26
Tôi cần thiết sudo apt-get install libsqlite3-dev. Cảm ơn.
B Bảy

6
Làm việc như người ở. Cảm ơn.
thẳng thắn

Cảm ơn, điều này chắc chắn sẽ không rõ ràng.
james_womack

15

Bạn chỉ cần một --trong đó.

sudo gem install sqlite3-ruby -- --with-sqlite3-include=/usr/include

Điều đó xác định rằng tùy chọn không phải là đá quý trực tiếp, mà là đá quý cụ thể.


8

Trong trường hợp của tôi, tôi không có trình biên dịch cơ bản nào được cài đặt, vì vậy

sudo apt-get install build-essential

đã giải quyết vấn đề của tôi, nhưng đối với hầu hết mọi người, tôi nghĩ https://stackoverflow.com/a/3649005/417267 là giải pháp.


1
Đây là vấn đề của tôi. Cảm ơn.
j buồn

6

Nếu bạn chạy trên Ubuntu và sử dụng RVM cho ruby ​​trên đường ray, vui lòng thêm FIRST:

sudo apt-get install libxslt-dev libxml2-dev

HOẶC Bạn có thể kiểm tra với các lệnh sau:

Lệnh này sẽ chuẩn bị cho bạn hai gói: sqllite3 và libsqlite3-dev

sudo apt-get cài đặt sqlite3 libsqlite3-dev

-Bây giờ, cài đặt đá quý sqlite

 [sudo] gem install sqlite3-ruby

sử dụng Ubuntu không cần sudo.

Chúc may mắn! Lưu ý: tôi đang sử dụng Ubuntu 10.10 và nó đang hoạt động.



6

Điều này chỉ đơn giản là đủ để làm cho nó hoạt động

sudo apt-get install libsqlite3-dev

Cảm ơn soái ca


4

Đã thử TẤT CẢ các giải pháp khác, không có giúp đỡ.

Hóa ra bạn cũng cần gói dev cho chính ruby. Đối với tôi, nó đã giúp

sudo apt-get install ruby-full

Nó có rất nhiều phụ thuộc khó chịu mặc dù (như emacs, wtf?), Chỉ

sudo apt-get install ruby1.8-dev

nên ổn Sau khi được cài đặt (và bạn đã cài đặt gói sqlite và sqlite-dev)

sudo gem install sqlite3-ruby

hoạt động như một lá bùa.


1
làm việc cho tôi quá sudo apt-get install ruby1.9.1-dev libsqlite3-dev
rajsite


1

Có vấn đề tương tự và những điều sau đây làm việc cho tôi:

biên dịch sqlite3 dưới dạng thư viện tĩnh, cài đặt ở đâu đó trong thư mục chính của bạn và sau đó cung cấp tùy chọn đó cho quá trình cài đặt gem.

Chuyển đến trang tải xuống và lấy nguồn. Phiên bản gần đây nhất tại thời điểm này là http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz

tar -xf trên tệp hoặc làm bất cứ điều gì bạn thường làm để giải nén; nhập thư mục

./có hình --disable-shared --enable-static --prefix = / some / path / in / my / home

biên dịch, cài đặt và khi bạn cài đặt đá quý ...

đá quý cài đặt sqlite3-ruby - --with-sqlite3-dir = / some / path / in / my / home



1

Giải pháp là thêm --vào các configuretham số riêng biệt từ gemcác tham số.

thay vì

sudo gem install sqlite3-ruby --without-sqlite3-include=/usr/include

hãy thử điều này, tất cả trên một dòng, đảm bảo bao gồm --sau gemtham số cuối cùng và trước configurecác tham số:

sudo gem install sqlite3 --
--with-sqlite3-lib=/somewhere/local/lib
--with-sqlite3-include=/somewhere/local/include

Điều này sẽ giúp bạn khắc phục lỗi này:

ERROR:  While executing gem ... (OptionParser::InvalidOption)
    invalid option: --without-sqlite3-include=/usr/include

Đây chính xác là những gì tôi cần - rất lớn nhờ người nộp này!
David Loy

0

Không phải --without-sqlite3-include=/usr/include, nhưng --with-sqlite3-include=/usr/include.


Nếu sqlite3.h thực sự bị thiếu và không có trong / usr / bao gồm như bạn đã nói, thì bạn có thể cài đặt nó với: sudo apt-get install libsqlite3-dev
Kurt

Tôi đã làm điều này .. Nó không giúp đỡ. Tôi đã cài đặt sqlite3 và libsqlite3-dev.
Dmitry

0

Đây là cùng một vấn đề tôi đã có một vài tuần trước đây. Tôi phát hiện ra rằng tôi cần tải xuống các tiêu đề / thư viện gần đây nhất từ ​​Trang Tải xuống SQLite. Hãy thử nó, hy vọng điều này sẽ giúp!


0

Đối với tôi, vấn đề đã được giải quyết bằng cách lấy mkmf, trong ruby1.8-dev.

sudo apt-get install ruby1.8-dev

Cảm ơn tinh thần cho một.


0

Tôi đồng ý với Danya Vershinin & EnotionZ .

Nếu không thể sử dụng apt-get:

  1. biên dịch và cài đặt sqlite3 từ các nguồn bằng cách chỉ định đường dẫn "tiền tố" của riêng bạn. Thông tin thêm có thể được tìm thấy trong README.
  2. Sau đó chuyển đường dẫn này đến trình cài đặt sqlite3-ruby (đừng quên "-").

0

Bạn đã phá vỡ phiên bản RVM. Ubuntu làm điều gì đó với RVM tạo ra nhiều lỗi, cách khắc phục an toàn duy nhất hiện nay là: sudo apt-get --purge xóa ruby-rvm sudo rm -rf / usr / share / ruby, nếu nó không giúp sau đó khởi động lại máy tính của bạn cài đặt RVM: \ curl -L https://get.rvm.io | bash -s ổn định --ruby --autolibs = enable --auto-dotfiles Nếu bạn thấy bạn cần một số thao tác cầm tay, hãy xem Cài đặt Ruby trên Ubuntu 12.04, giải thích thêm một chút


0

Quên tất cả mọi thứ và làm điều này,

chạy

yum install ruby-devel sqlite sqlite-devel ruby-rdoc
yum install make gcc
gem install sqlite3-ruby
bundle install

Đó là cho rrc, chạy tương tự cho Ubuntu.


0

Không có giải pháp nào được đề cập ở trên làm việc cho tôi, ngay cả sau khi cài đặt ruby2.5-devlibsqlite3-dev. Sau đó thử sử dụng PostgreSqlthay vì sqlite. Điều đó đã làm việc tốt. Để sử dụng PostgreSqlthay vì sqlite, hãy sử dụng lệnh này khi tạo railsdự án.

rails [_VERSION_] new project_name -d postgresql

Nếu bạn muốn sử dụng MySqlthì sử dụng mysqlthay vì postgresql.

rails [_VERSION_] new project_name -d mysql

Khác, bạn có thể thử mà không có sqlite.

bundle install --without sqlite

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.