우분투에서 sqlite3-ruby 설치 오류


257

sqlite3-ruby 설치 중에 다음 오류가 발생합니다.

기본 확장 작성 시간이 좀 걸릴 수 있습니다 ...
오류 : sqlite3-ruby 설치 오류 :
    오류 : gem 기본 확장을 빌드하지 못했습니다.

/usr/bin/ruby1.8 extconf.rb
sqlite3.h 확인 중 ... 아니오
sqlite3.h가 누락되었습니다. 'port install sqlite3 + universal'또는 'yum install sqlite3-devel'을 시도하십시오
*** extconf.rb 실패 ***
어떤 이유로 인해 Makefile을 만들 수 없습니다.
필요한 라이브러리 및 / 또는 헤더. 자세한 내용은 mkmf.log 파일을 확인하십시오.
세부. 구성 옵션이 필요할 수 있습니다.

제공되는 구성 옵션 :
    --with-opt-dir
    --with-opt-dir없이
    --with-opt-include
    --without-opt-include = $ {opt-dir} / include
    --with-opt-lib
    --without-opt-lib = $ {opt-dir} / lib
    --with-make-prog
    -제작 프로그램없이
    --srcdir =.
    --curdir
    --ruby = / usr / bin / ruby1.8
    --with-sqlite3-dir
    --without-sqlite3-dir
    --with-sqlite3-include
    --without-sqlite3-include = $ {sqlite3-dir} / include
    --with-sqlite3-lib
    --without-sqlite3-lib = $ {sqlite3-dir} / lib


Gem 파일은 검사를 위해 /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1에 설치된 상태로 유지됩니다.
/usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/gem_make.out에 기록 된 결과

sqlite3.h는 / usr / include /에 있습니다.

sudo gem 설치 sqlite3-ruby --without-sqlite3-include = / usr / include

작동하지 않습니다

오류 : gem을 실행하는 중 ... (OptionParser :: InvalidOption)
    유효하지 않은 옵션 : --without-sqlite3-include = / usr / include

우분투 10.04


같은 문제-이것은 답변되지 않았습니다. sqlite3.h가 존재하지 않으며 위의 모든 패키지가 설치되었습니다. ubunut 10.10
rrt

apt-get install build-essential을 설치 한 다음 sudo gem install sqlite3-ruby
Dmitry

1
그 이후로 그냥 바뀌지 sqlite3않았습니다sqlite3-ruby
kelloti

3
marshluca가 제안한대로 우분투 12.04에서 나를 위해 일했습니다. sudo apt-get install libsqlite3-dev
panta

답변:


585

gem의 기본 확장 기능을 컴파일하려면 SQLite3 개발 헤더가 필요합니다. 다음을 실행하여 설치할 수 있습니다 sudo.

apt-get install libsqlite3-dev

26
나는 필요했다 sudo apt-get install libsqlite3-dev. 감사.
B 7

6
매력처럼 일했다. 감사.
frank.m

감사합니다 — 이것은 분명하지 않았습니다.
james_womack

15

당신 --은 거기에 필요합니다 .

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

옵션이 직접 보석이 아니라 특정 보석을 지정하도록 지정합니다.



6

우분투에서 실행하고 루비 온 레일에 RVM을 사용하는 경우 먼저 추가하십시오.

sudo apt-get install libxslt-dev libxml2-dev

또는 다음 명령으로 확인할 수 있습니다.

이 명령은 sqllite3 및 libsqlite3-dev라는 두 가지 패키지를 준비합니다.

sudo apt-get 설치 sqlite3 libsqlite3-dev

이제 sqlite gem을 설치하십시오.

 [sudo] gem install sqlite3-ruby

우분투를 사용하면 sudo가 필요하지 않습니다.

행운을 빕니다! 참고 : Ubuntu 10.10을 사용하고 있으며 작동합니다.



6

이것은 단순히 작동하도록 충분했습니다.

sudo apt-get install libsqlite3-dev

marshluca 덕분에


4

다른 솔루션을 모두 시도했지만 도움이되지 않았습니다.

루비 자체에 대한 dev 패키지도 필요하다는 것이 밝혀졌습니다. 나를 위해, 그것은 도움이되었다

sudo apt-get install ruby-full

그것은 (예 : emacs, wtf?) 많은 불쾌한 의존성을 가지고 있습니다.

sudo apt-get install ruby1.8-dev

괜찮을거야. 설치 후 (및 sqlite 및 sqlite-dev 패키지가 설치되어 있음)

sudo gem install sqlite3-ruby

매력처럼 작동합니다.


1
나도 일했다. sudo apt-get 설치 ruby1.9.1-dev libsqlite3-dev
rajsite


1

이 같은 문제가 있었고 다음이 나를 위해 일했습니다.

sqlite3을 정적 라이브러리로 컴파일하고 홈 디렉토리에 설치 한 다음 gem 설치 프로세스에 해당 옵션을 제공하십시오.

다운로드 페이지로 이동하여 소스를 가져 오십시오. 현재 가장 최신 버전은 http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz 입니다 .

파일의 tar -xf 또는 압축 해제를 위해 일반적으로 수행하는 모든 작업을 수행하십시오. 디렉토리를 입력

./configure --disable-shared --enable-static --prefix = / some / path / in / my / home

컴파일, 설치 및 gem 설치시 ...

gem install sqlite3-ruby---with-sqlite3-dir = / some / path / in / my / home



1

해결책은 매개 변수와 매개 변수 --를 분리 하기 위해 추가 하는 것 입니다.configuregem

대신에

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

한 줄에 모두 시도하십시오 --. 마지막 gem매개 변수 다음과 configure매개 변수 앞에 포함시켜야 합니다 .

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

이 오류를 해결해야합니다.

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

이것은 내가 필요한 것입니다-이 제출자에게 감사드립니다!
David Loy

0

아니 --without-sqlite3-include=/usr/include,하지만 --with-sqlite3-include=/usr/include.


sqlite3.h가 실제로 누락되었고 / usr / include에없는 경우 다음과 같이 설치할 수 있습니다. sudo apt-get install libsqlite3-dev
Kurt

나는 이미 이것을했다. 도움이되지 않는다. sqlite3 및 libsqlite3-dev가 설치되어 있습니다.
Dmitry

0

이것은 몇 주 전에했던 것과 똑같은 문제입니다. SQLite 다운로드 페이지에서 최신 헤더 / 라이브러리를 다운로드해야한다는 것을 알았습니다. 사용해보십시오, 이것이 도움이되기를 바랍니다!


0

나를 위해 ruby1.8-dev에있는 mkmf를 얻음으로써 문제가 해결되었습니다.

sudo apt-get install ruby1.8-dev

저것 에 정신줘서 감사합니다 .


0

Danya Vershinin & EnotionZ에 동의합니다 .

apt-get을 사용할 수없는 경우 :

  1. "접두사"경로를 지정하여 소스에서 sqlite3을 컴파일하고 설치하십시오. 추가 정보는 README에서 찾을 수 있습니다.
  2. 그런 다음이 경로를 sqlite3-ruby 설치 프로그램으로 전달하십시오 ( "-"를 잊지 마십시오).

0

RVM 버전이 손상되었습니다. Ubuntu는 많은 오류를 발생시키는 RVM에 무언가를 수행합니다. 지금 수정하는 유일한 안전한 방법은 다음과 같습니다. sudo apt-get --purge remove ruby-rvm sudo rm -rf / usr / share / ruby…. 그런 다음 컴퓨터를 다시 시작하십시오. RVM 설치 : \ curl -L https://get.rvm.io | bash -s stable --ruby --autolibs = enable --auto-dotfiles 좀 더 손을 잡아야한다면, Ubuntu 12.04에 Ruby 설치를 좀 더 설명해보십시오.


0

모든 것을 잊고 이것을하십시오

운영

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

그것은 rhel을위한 것이고, 우분투에서도 동일하게 실행됩니다.


0

위의 솔루션 중 어느 것도 설치 ruby2.5-dev및 설치 후에도 효과가 없었습니다 libsqlite3-dev. 그런 다음 PostgreSql대신에 사용해보십시오 sqlite. 잘 작동했습니다. PostgreSqlsqlite 대신 사용하려면 rails프로젝트를 만들 때이 명령을 사용하십시오 .

rails [_VERSION_] new project_name -d postgresql

사용하고자하는 경우 MySql다음 사용하는 mysql대신 postgresql.

rails [_VERSION_] new project_name -d mysql

그렇지 않으면 당신은없이 시도 할 수 있습니다 sqlite.

bundle install --without sqlite

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.