it-swarm.com.de

sqlite3-Ruby-Installationsfehler unter Ubuntu

Ich habe während der Installation von sqlite3-Ruby den folgenden Fehler:

 Native Erweiterungen erstellen. Dies kann eine Weile dauern ...
 FEHLER: Fehler beim Installieren von sqlite3-Ruby: 
 ERROR: Fehler beim Erstellen der nativen Gem-Erweiterung .

/Usr/bin/Ruby1.8 extconf.rb 
 Überprüfung auf sqlite3.h ... no 
 Sqlite3.h fehlt. Versuchen Sie 'port install sqlite3 + universal' oder 'yum install sqlite3-devel' 
 *** extconf.rb failed *** 
 Konnte Makefile aus irgendeinem Grund nicht erstellen, wahrscheinlich fehlte 
 Erforderliche Bibliotheken und/oder Kopfzeilen. Überprüfen Sie die Datei mkmf.log auf weitere Details 
. Möglicherweise benötigen Sie Konfigurationsoptionen .

 Bereitgestellte Konfigurationsoptionen: 
 --with-opt-dir 
 --ohne-opt-dir 
 --with-opt-include 
 --without-opt-include = $ {opt-dir}/include 
 --with-opt-lib 
 --without-opt-lib = $ {Wahlverzeichnis}/lib 
 --with-make-prog 
 --without-make-prog 
 --srcdir = .
 --curdir 
 --Ruby =/usr/bin/Ruby1.8 
 --with-sqlite3-dir 
 --ohne-sqlite3-dir 
 --with-sqlite3-include 
 --without-sqlite3-include = $ {sqlite3-dir}/include 
 --with-sqlite3-lib 
 --without-sqlite3-lib = $ {sqlite3-dir}/lib 


 Gem-Dateien bleiben in /usr/lib/Ruby/gems/1.8/gems/sqlite3-Ruby-1.3 installiert. 1 für Inspektion .
 Ergebnisse in /usr/lib/Ruby/gems/1.8/gems/sqlite3-Ruby-1.3.1/ext/sqlite3/gem_make.out.__ protokolliert.

sqlite3.h befindet sich in/usr/include /

 Sudo gem installiert sqlite3-Ruby --without-sqlite3-include =/usr/include 

funktioniert nicht

 ERROR: Während der Ausführung von gem ... (OptionParser :: InvalidOption) 
 ungültige Option: --without-sqlite3-include =/usr/include 

Ubuntu 10.04

251
Dmitry

Sie benötigen die SQLite3-Entwicklungsheader, für die die native Erweiterung des Gems kompiliert werden kann. Sie können sie installieren, indem Sie Folgendes ausführen (möglicherweise mit Sudo):

apt-get install libsqlite3-dev
573
marshluca

Sie brauchen nur einen -- dort.

Sudo gem install sqlite3-Ruby -- --with-sqlite3-include=/usr/include

Dies gibt an, dass die Option nicht direkt auf einen Edelstein, sondern auf einen bestimmten Edelstein lautet.

14
Kurt

In meinem Fall habe ich keine grundlegenden Compiler installiert, also

Sudo apt-get install build-essential

mein Problem gelöst, aber für die meisten Leute denke ich https://stackoverflow.com/a/3649005/417267 ist die Lösung.

8
Dmitry

Wenn Sie in Ubuntu laufen und RVM für Ruby on Rails verwenden, fügen Sie bitte FIRST hinzu:

Sudo apt-get install libxslt-dev libxml2-dev

ODER Sie können mit diesen Befehlen überprüfen:

Dieser Befehl wird für Sie zwei Pakete vorbereiten: sqllite3 und libsqlite3-dev

Sudo apt-get install sqlite3 libsqlite3-dev

-Jetzt, installiere sqlite gem 

 [Sudo] gem install sqlite3-Ruby

- Ubuntu braucht kein Sudo.

Viel Glück! Hinweis: Ich verwende Ubuntu 10.10 und es funktioniert.

6
anguu

Das habe ich gemacht:

wget http://www.sqlite.org/sqlite-amalgamation-3.7.2.tar.gz
tar xzf sqlite-amalgamation-3.7.2.tar.gz
cd sqlite-3.7.2/

./configure
make
make install

gem install Rails sqlite3-Ruby

von: http://cuasan.wordpress.com/2010/10/13/Rails-3-on-debian-with-sqlite-3/

6
MikeEL

Das war einfach genug, damit es funktioniert

Sudo apt-get install libsqlite3-dev

Danke an Marshluca

6
Bernard Banta

VersuchteALLEvon anderen Lösungen, keine half.

Es stellte sich heraus, dass Sie auch ein Entwicklungspaket für Ruby selbst benötigen. Für mich hat es geholfen

Sudo apt-get install Ruby-full

Es hat jedoch viele unangenehme Abhängigkeiten (wie emacs, wtf?), Nur

Sudo apt-get install Ruby1.8-dev

sollte gut sein. Nach der Installation (und Sie haben die Pakete sqlite und sqlite-dev installiert)

Sudo gem install sqlite3-Ruby

klappt wunderbar.

4
mhaligowski

Hier ist eine bessere Antwort von HEROKU - kann nicht laufen git Push heroku master

Da Sie sqlite3 nicht für Heroku verwenden können, fügen Sie dies Ihrem Gemfile hinzu:

group :production do
  gem 'pg'
end
group :development, :test do
  gem 'sqlite3'
end
2
jstreebin

Hatte das gleiche Problem und das Folgende hat für mich funktioniert:

sqlite3 als statische Bibliothek kompilieren, irgendwo in Ihrem Home-Verzeichnis installieren und diese Option für den gem-Installationsvorgang angeben.

Gehen Sie zur Download-Seite und greifen Sie auf die Quelle zu. Die aktuellste Version ist derzeit http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz

tar -xf in der Datei oder sonst wie sonst üblich, um die Dekomprimierung durchzuführen; Verzeichnis eingeben

./configure --disable-shared --enable-static --prefix =/einige/Pfad/in/my/home

kompilieren, installieren und wenn Sie den Edelstein installieren ...

gem install sqlite3-Ruby - --with-sqlite3-dir =/einige/Pfad/in/mein/home

1
EnotionZ

Die Lösung besteht darin, -- hinzuzufügen, um configure-Parameter von gem-Parametern zu trennen.

anstatt

Sudo gem install sqlite3-Ruby --without-sqlite3-include=/usr/include

versuchen Sie dies in einer Zeile. Stellen Sie sicher, dass Sie -- nach dem letzten gem-Parameter und vor den configure-Parametern angeben:

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

Damit sollten Sie diesen Fehler umgehen:

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

Von sqlite3-Ruby gem kann sqlite3.h auf ubuntu nicht finden :

Sie müssen gcc auch selbst installieren, also insgesamt:

Sudo apt-get install gcc libsqlite3-dev Ruby1.8-dev
Sudo gem install sqlite3

Anscheinend erhalten Sie eine falsche Fehlermeldung, die auf eine fehlende sqlite3.h verweist, wenn das eigentliche Problem gcc selbst nicht aufweist.

1

Für mich wurde das Problem gelöst, indem man mkmf erhielt, was in Ruby1.8-dev enthalten ist. 

Sudo apt-get install Ruby1.8-dev

Danke an mentalisiert dafür.

0
ben author

Keine der oben genannten Lösungen funktionierte für mich, auch nachdem Ruby2.5-dev und libsqlite3-dev installiert wurden. Dann probierte es mit PostgreSql anstelle von sqlite. Das hat gut funktioniert. Um PostgreSql anstelle von sqlite zu verwenden, verwenden Sie diesen Befehl, wenn Sie Rails-Projekt erstellen.

Rails [_VERSION_] new project_name -d postgresql

Wenn Sie MySql verwenden möchten, verwenden Sie mysql anstelle von postgresql.

Rails [_VERSION_] new project_name -d mysql

Andernfalls können Sie es ohne sqlite versuchen.

bundle install --without sqlite
0

Nicht --without-sqlite3-include=/usr/include, sondern --with-sqlite3-include=/usr/include.

0
Daniel O'Hara

Ich stimme zu Danya Vershinin & EnotionZ .

Wenn apt-get nicht verwendet werden kann: 

  1. kompilieren und installieren Sie sqlite3 aus Quellen, indem Sie Ihren eigenen "Präfix" -Pfad angeben.
  2. Übergab diesen Pfad dann an das sqlite3-Ruby-Installationsprogramm (das "-" nicht vergessen).
0
LoganMzz

Vergiss alles und tu das

lauf

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

Das ist für Rhel, läuft für Ubuntu genauso.

0
Aakash Parashar

Sie haben die Version von RVM beschädigt. Ubuntu macht etwas zu RVM, das viele Fehler erzeugt. Der einzige sichere Weg, das Problem zu beheben, ist: Sudo apt-get --purge Ruby-rvm entfernen Sudo rm -rf/usr/share/Ruby…, wenn es nicht hilft Starten Sie dann Ihren Computer neu. RVM installieren:\curl -L https://get.rvm.io | bash -s stable --Ruby --autolibs = enable --auto-dotfiles Wenn Sie etwas von der Hand halten müssen, lesen Sie den Abschnitt Installation von Ruby unter Ubuntu 12.04. Hier finden Sie weitere Erklärungen

0
Jack Demin

Das ist genau das gleiche Problem, das ich vor ein paar Wochen hatte. Ich fand heraus, dass ich die neuesten Header/Bibliotheken von der SQLite-Downloadseite herunterladen musste. Probieren Sie es aus, hoffe das hilft!

0
theGrayFox