Ich habe den folgenden Fehler während der Installation von sqlite3-ruby:
Native Erweiterungen erstellen. Dies könnte eine Weile dauern ... FEHLER: Fehler beim Installieren von sqlite3-ruby: FEHLER: Fehler beim Erstellen der nativen Erweiterung für Edelsteine. /usr/bin/ruby1.8 extconf.rb nach sqlite3.h suchen ... nein sqlite3.h fehlt. Versuchen Sie 'port install sqlite3 + universal' oder 'yum install sqlite3-devel' *** extconf.rb fehlgeschlagen *** Makefile konnte aus irgendeinem Grund nicht erstellt werden, wahrscheinlich mangels notwendige Bibliotheken und / oder Header. Überprüfen Sie die Datei mkmf.log auf weitere Informationen Einzelheiten. 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 = $ {opt-dir} / lib --with-make-prog --ohne 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-Dateien bleiben zur Überprüfung in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1 installiert. Ergebnisse protokolliert unter /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/gem_make.out
sqlite3.h befindet sich in / usr / include /
sudo gem installiere sqlite3-ruby - ohne-sqlite3-include = / usr / include
funktioniert nicht
FEHLER: Während der Ausführung von gem ... (OptionParser :: InvalidOption) ungültige Option: --without-sqlite3-include = / usr / include
Ubuntu 10.04
ruby
ubuntu
sqlite
sqlite3-ruby
Dmitry
quelle
quelle
sqlite3
, notsqlite3-ruby
Antworten:
Sie benötigen die SQLite3-Entwicklungsheader, damit die native Erweiterung des Gems kompiliert werden kann. Sie können sie installieren, indem Sie (möglicherweise mit
sudo
) Folgendes ausführen :quelle
sudo apt-get install libsqlite3-dev
. Vielen Dank.Du brauchst nur einen
--
drin.Das gibt an, dass die Option nicht direkt gem, sondern der spezifische Edelstein ist.
quelle
In meinem Fall habe ich also keine grundlegenden Compiler installiert
Ich habe mein Problem gelöst, aber für die meisten Leute ist https://stackoverflow.com/a/3649005/417267 die Lösung.
quelle
Wenn Sie in Ubuntu arbeiten und RVM für Ruby on Rails verwenden, fügen Sie bitte ZUERST hinzu:
ODER Sie können mit diesen Befehlen überprüfen:
Dieser Befehl bereitet für Sie zwei Pakete vor: sqllite3 und libsqlite3-dev
-Jetzt installieren Sie SQLite Gem
- Ubuntu braucht kein Sudo.
Viel Glück! Hinweis: Ich verwende Ubuntu 10.10 und es funktioniert.
quelle
Das habe ich getan:
von: http://cuasan.wordpress.com/2010/10/13/rails-3-on-debian-with-sqlite-3/
quelle
Dies war einfach genug, um es zum Laufen zu bringen
Danke an Marshluca
quelle
Versuchte ALLE 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
Es hat viele böse Abhängigkeiten (wie Emacs, WTF?), Nur
sollte gut sein. Nach der Installation (und Sie haben die Pakete sqlite und sqlite-dev installiert)
klappt wunderbar.
quelle
Hier ist eine bessere Antwort von HEROKU - Git Push Heroku Master kann nicht ausgeführt werden
Da Sie sqlite3 nicht für Heroku verwenden können, fügen Sie dies Ihrem Gemfile hinzu:
quelle
Hatte das gleiche Problem und das Folgende hat bei mir funktioniert:
Kompilieren Sie sqlite3 als statische Bibliothek, installieren Sie es irgendwo in Ihrem Home-Verzeichnis und stellen Sie diese Option für den Gem-Installationsprozess bereit.
Gehen Sie zur Download-Seite und suchen Sie die Quelle. Die aktuellste Version ist derzeit http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz
tar -xf in der Datei oder tun Sie, was Sie normalerweise tun, um die Dekomprimierung aufzuheben. Verzeichnis eingeben
./configure --disable-shared --enable-static --prefix = / some / path / in / my / home
kompilieren, installieren und wenn Sie das Juwel installieren ...
gem installiere sqlite3-ruby - --with-sqlite3-dir = / some / path / in / my / home
quelle
Von sqlite3-ruby gem kann sqlite3.h auf ubuntu nicht finden :
Sie müssen auch gcc selbst installieren, also wäre es insgesamt:
Anscheinend erhalten Sie einen falschen Fehler, der auf eine fehlende sqlite3.h hinweist, wenn das eigentliche Problem gcc selbst fehlt.
quelle
Die Lösung besteht darin
--
,configure
Parameter vongem
Parametern zu trennen .anstatt
Versuchen Sie dies in einer Zeile und stellen Sie sicher, dass
--
nach dem letztengem
Parameter und vor denconfigure
Parametern Folgendes angegeben wird:Dies sollte Sie um diesen Fehler herum führen:
quelle
Nicht
--without-sqlite3-include=/usr/include
aber--with-sqlite3-include=/usr/include
.quelle
Dies ist genau das gleiche Problem, das ich vor einigen Wochen hatte. Ich fand heraus, dass ich die neuesten Header / Bibliotheken von der SQLite-Download-Seite herunterladen musste. Probieren Sie es aus, hoffe das hilft!
quelle
Für mich wurde das Problem gelöst, indem ich mkmf bekam, das in ruby1.8-dev ist.
Danke an mentalized für diesen einen.
quelle
Ich stimme Danya Vershinin & EnotionZ zu .
Wenn apt-get nicht verwendet werden kann:
quelle
Sie haben die Version von RVM defekt. Ubuntu macht etwas mit RVM, das viele Fehler verursacht. Die einzig sichere Möglichkeit, dies zu beheben, ist: sudo apt-get --purge entfernen ruby-rvm sudo rm -rf / usr / share / ruby…, wenn es nicht hilft Starten Sie dann Ihren Computer neu. Installieren Sie RVM: \ curl -L https://get.rvm.io | bash -s stabil --ruby --autolibs = enable --auto-dotfiles Wenn Sie feststellen, dass Sie etwas Hand halten müssen, lesen Sie die Installation von Ruby unter Ubuntu 12.04, die etwas ausführlicher ist
quelle
Vergiss alles und mach das,
Lauf
Das ist für Rhel, laufen Sie gleich für Ubuntu.
quelle
Keine der oben genannten Lösungen hat bei mir funktioniert, auch nach der Installation von
ruby2.5-dev
undlibsqlite3-dev
. Dann versuchte ich es mitPostgreSql
stattsqlite
. Das hat gut funktioniert.PostgreSql
Verwenden Sie diesen Befehl beim Erstellen einesrails
Projekts, um anstelle von SQLite zu verwenden .Wenn Sie verwenden möchten,
MySql
verwenden Siemysql
anstelle vonpostgresql
.Sonst kannst du es auch ohne versuchen
sqlite
.quelle
Ich habe gerade auf sqlite3-ruby '1.2.2' heruntergestuft.
quelle