Bei der Installation von sqlite3 (1.3.11) ist ein Fehler aufgetreten und Bundler kann nicht fortfahren

Lesezeit: 6 Minuten

Also versuche ich es $ bundle install --without production bevor ich $ git push heroku masteraber ich bekomme immer diesen Fehler

$ bundle install --without production
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies......
Using rake 10.4.2
Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.8.3
Using thread_safe 0.3.5
Using tzinfo 1.2.2
Using activesupport 4.1.8
Using builder 3.2.2
Using erubis 2.7.0
Using actionview 4.1.8
Using rack 1.5.5
Using rack-test 0.6.3
Using actionpack 4.1.8
Using mime-types 2.99
Using mail 2.6.3
Using actionmailer 4.1.8
Using activemodel 4.1.8
Using arel 5.0.1.20140414130214
Using activerecord 4.1.8
Using execjs 2.6.0
Using autoprefixer-rails 6.1.2
Using sass 3.2.19
Using bootstrap-sass 3.3.5
Using bundler 1.10.6
Using coffee-script-source 1.10.0
Using coffee-script 2.4.1
Using thor 0.19.1
Using railties 4.1.8
Using coffee-rails 4.0.1
Using hike 1.2.3
Using multi_json 1.11.2
Using jbuilder 2.3.2
Using jquery-rails 3.1.4
Using tilt 1.4.1
Using sprockets 2.12.4
Using sprockets-rails 2.3.3
Using rails 4.1.8
Using rdoc 4.2.0
Using sass-rails 4.0.5
Using sdoc 0.4.1
Installing sqlite3 1.3.11 with native extensions
C:/jruby-9.0.0.0/lib/ruby/stdlib/rubygems/ext/ext_conf_builder.rb:39: warning: Tempfile#unlink or delete called on open file; ignoring

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    C:/jruby-9.0.0.0/bin/jruby.exe -r ./siteconf20151208-25620-qipdd0.rb extconf.rb
NotImplementedError: C extensions are not supported
    <top> at C:/jruby-9.0.0.0/lib/ruby/stdlib/mkmf.rb:1
  require at org/jruby/RubyKernel.java:940
   (root) at C:/jruby-9.0.0.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
    <top> at extconf.rb:3

extconf failed, exit code 1

Gem files will remain installed in C:/jruby-9.0.0.0/lib/ruby/gems/shared/gems/sqlite3-1.3.11 for inspection.
Results logged to C:/jruby-9.0.0.0/lib/ruby/gems/shared/extensions/universal-java-1.8/2.2.0/sqlite3-1.3.11/gem_make.out
An error occurred while installing sqlite3 (1.3.11), and Bundler cannot
continue.
Make sure that `gem install sqlite3 -v '1.3.11'` succeeds before bundling.

das ist mein Gemfile

source 'https://rubygems.org'

gem 'rails', '4.1.8'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'bootstrap-sass'



group :development, :test do
 gem 'sqlite3'
end

group :production do
 gem 'pg'
 gem 'rails_12factor'
end

group :doc do
    gem 'sdoc', require: false
end

Ich versuchte zu

gem uninstall sqlite3
gem install sqlite

Aber ich habe

$ gem install sqlite3
Building native extensions.  This could take a while...
C:/jruby-9.0.0.0/lib/ruby/stdlib/rubygems/ext/ext_conf_builder.rb:39: warning: Tempfile#unlink or delete called on open file; ignoring
ERROR:  Error installing sqlite3:
        ERROR: Failed to build gem native extension.

    C:/jruby-9.0.0.0/bin/jruby.exe -r ./siteconf20151208-19428-iytd2g.rb extconf.rb
NotImplementedError: C extensions are not supported
    <top> at C:/jruby-9.0.0.0/lib/ruby/stdlib/mkmf.rb:1
  require at org/jruby/RubyKernel.java:940
   (root) at C:/jruby-9.0.0.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
    <top> at extconf.rb:3

extconf failed, exit code 1

Gem files will remain installed in C:/jruby-9.0.0.0/lib/ruby/gems/shared/gems/sqlite3-1.3.11 for inspection.
Results logged to C:/jruby-9.0.0.0/lib/ruby/gems/shared/extensions/universal-java-1.8/2.2.0/sqlite3-1.3.11/gem_make.out

Hat jemand eine Idee woran das liegen könnte?

  • Welches Betriebssystem verwendest du?

    – Staub

    9. Dezember 2015 um 6:17 Uhr

  • Hier ist Ihre Antwort: stackoverflow.com/questions/15795942/…

    – matanco

    9. Dezember 2015 um 6:17 Uhr

  • Sie versuchen, das native SQLite-Gem mit Jruby zu verwenden. Diese Antwort könnte hilfreich sein: stackoverflow.com/a/7786796/163640

    – Eugen

    9. Dezember 2015 um 6:33 Uhr

  • Windows für Ruby on Rails! Ich hoffe Gott wird immer bei dir sein 🙂

    – Staub

    9. Dezember 2015 um 6:41 Uhr

Ich denke, Sie müssen zuerst sqlite3 und sqlite3-dev installieren.

sudo apt-get install -y sqlite3 libsqlite3-dev

Probieren Sie es aus, könnte Ihr Problem lösen

  • Vielen Dank. Es funktioniert immer noch unter Ubuntu 18.04 und Rails 6.0.

    – iColdPlayer

    21. März 2020 um 17:38 Uhr

Benutzeravatar von Hai Tran
Hai Tran

Das könnte helfen. Ich habe das gleiche Problem. Ich habe viel gesucht und es gelöst. Dies ist vielleicht nur die Version von sqlite3.

Dies sollten Sie zuerst tun

sudo apt-get install -y sqlite3 libsqlite3-dev

Öffnen Sie dann Ihr Gemfile und ändern Sie die Zeile von sqlite3 in

gem 'sqlite3', '~> 1.3', '>= 1.3.11'

dann renne

bundle install

  • gem 'sqlite3', '~> 1.3', '>= 1.3.11' Dieser Teil hat bei mir nicht funktioniert, aber dieser sudo apt-get install -y sqlite3 libsqlite3-dev Lief wie am Schnürchen. Vielen Dank.

    – Yonela Nuba

    6. August um 7:44

Benutzeravatar von Joel G
Joel G

Wie Benjamin sagte, müssen Sie die sqlite3-Datenbank installieren, bevor Sie das sqlite3-Gem installieren können. Es sieht so aus, als ob Sie Windows verwenden, also versuchen Sie, die hier aufgeführten Anweisungen zu befolgen:

Wie installiere ich sqlite3 für Ruby unter Windows?

Als Referenz ist hier die akzeptierte Antwort zu diesem Thread von Benutzer Williams:

  1. Installieren Sie das Ruby Devkit für Ihr Setup (DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe für mich, da ich einen x64-Computer verwende)

  2. Laden Sie das autoconf-Paket von Sqlite.org herunter und extrahieren Sie es

  3. Führen Sie msys.bat aus (es befindet sich im Root-Ordner von ruby ​​devkit)

  4. cd in den Pfad, in den Sie die SQLite-Quelle heruntergeladen haben (zum Beispiel: „cd /c/dev/sqlite3“ für den Pfad „c:\dev\sqlite3“, wenn Sie neu bei MSYS/MINGW32 sind)

  5. Führen Sie „./configure“ aus

  6. Führen Sie “make” aus

  7. Führen Sie “make install” aus

  8. Holen Sie sich das sqlite3-Gem erneut und geben Sie diesmal die Plattform und den Pfad zu den neu kompilierten Binärdateien an:

    gem install sqlite3 --platform=ruby -- --with-sqlite3-include=[path\to\sqlite3.h] --with-sqlite3-lib=[path\to\sqlite3.o]

    Zum Beispiel:

    gem install sqlite3 --platform=ruby -- --with-sqlite3-include=/c:/dev/sqlite3/ --with-sqlite3-lib=/c:/dev/sqlite3/.libs/

    (aus den in Schritt 4 angegebenen Pfaden)

  9. Überprüfen Sie die Gemfile.lock Ihrer Rails-App und stellen Sie sicher, dass sie auf die richtige sqlite3-Version verweist. Meins war “sqlite3 (1.3.7-x86-mingw32)” und wurde manuell in “sqlite3 (1.3.7-x64-mingw32)” geändert. Das Entfernen der Plattform funktioniert auch: “sqlite3 (1.3.7)”.

Viel Glück!

Dadurch werden die von Rails benötigten sqlite-bezogenen Pakete installiert Roter Hut und Centos:

sudo yum install sqlite sqlite-devel

Die musst du installieren sqlite3 Datenbank für Ihr Betriebssystem, vorzugsweise über das Tool, das Ihr Betriebssystem bereitstellt. Versuchen Sie danach, das Gem erneut zu installieren. Wahrscheinlich müssen Sie ähnliche Fehler mit demselben Verfahren beheben.

  • Ich habe oben die Ergebnisse gepostet, die ich von $ gem install sqlite3 erhalten habe. Das oben gepostete i ist der Fehler, den ich bei der Installation von sqlite3 habe.

    – Frank Aaron Seeger

    9. Dezember 2015 um 18:16 Uhr

  • Falls der Link in Joels Antwort veraltet ist, google einfach nach installation+sqlite3+your_os_version. Die Installation anderer Gems kann mit ähnlichen Fehlermeldungen fehlschlagen, wiederholen Sie den Vorgang daher bei Bedarf.

    – Benjamin

    10. Dezember 2015 um 11:41 Uhr


Omars Benutzeravatar
Omar

Das funktioniert für mich.

sudo apt-get install libsqlite3-dev

  • Ich habe oben die Ergebnisse gepostet, die ich von $ gem install sqlite3 erhalten habe. Das oben gepostete i ist der Fehler, den ich bei der Installation von sqlite3 habe.

    – Frank Aaron Seeger

    9. Dezember 2015 um 18:16 Uhr

  • Falls der Link in Joels Antwort veraltet ist, google einfach nach installation+sqlite3+your_os_version. Die Installation anderer Gems kann mit ähnlichen Fehlermeldungen fehlschlagen, wiederholen Sie den Vorgang daher bei Bedarf.

    – Benjamin

    10. Dezember 2015 um 11:41 Uhr


1429350cookie-checkBei der Installation von sqlite3 (1.3.11) ist ein Fehler aufgetreten und Bundler kann nicht fortfahren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy