Ich habe eine Reihe von Dingen wie das Deinstallieren / Neuinstallieren von Schienen und Edelsteinen versucht, aber ohne Erfolg.
Wenn ich in mein neues Projekt gehe und Rails s oder Bundle Exec Rails Server ausführe, wird folgende Fehlermeldung angezeigt:
bin/rails:6: warning: already initialized constant APP_PATH
/Users/toabui/Sites/cms/bin/rails:6: warning: previous definition of APP_PATH was here Usage: rails COMMAND [ARGS]
In meinem Behälter / meinen Schienen sehe ich diesen Code:
#!/usr/bin/env ruby
begin
load File.expand_path("../spring", __FILE__)
rescue LoadError
end
APP_PATH = File.expand_path('../../config/application', __FILE__)
require_relative '../config/boot'
require 'rails/commands'
Weiß jemand, warum ich diesen Fehler immer wieder bekomme, wenn ich Schienen s setze?
Ich habe gegoogelt und es scheint, dass es einen Fehler mit dem Frühlingsjuwel gibt, aber ich kann es nicht zum Laufen bringen.
ruby-on-rails
tobu
quelle
quelle
database.yml
Adapter war andersGemfile
.Antworten:
Ich konnte die Datei an_initilizer.rb nicht in meinem Verzeichnis finden und habe versucht, das Spring Gem zu deinstallieren / installieren, aber es hat nicht funktioniert.
Ich habe es jedoch geschafft, es endlich zum Laufen zu bringen.
Anscheinend gibt es einen Konflikt mit Feder und Schienen 4+.
Ich musste rennen:
rake rails:update:bin
Aber ich bin auf einen anderen Fehler gestoßen:
Library not loaded: libmysqlclient.18.dylib
Ich habe den folgenden Befehl ausgeführt, den ich in einem anderen Stackoverflow-Beitrag gefunden habe:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Dann führte der ursprüngliche Befehl aus:
rake rails:update:bin
Führen Sie dann den Serverbefehl aus:
Und jetzt läuft mein WebBrick Server.
quelle
bin/rake db:migrate RAILS_ENV=development
rake rails:update:bin
zur Rettung.quelle
Wenn Sie mit El Capitan (OS X 10.11) arbeiten, verhindert Security Integrity Protection (SIP) die Verknüpfung mit / usr / lib, um MySQL zu reparieren. Verknüpfen Sie es stattdessen mit / usr / local / lib:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
quelle
mysql_config --libs
Dann tun Sie diessudo ln -s mypath /usr/local/lib/libmysqlclient.18.dylib
Das ist Arbeit für mich.
gem uninstall mysql2
bundle install
odergem install mysql2
quelle
Ich habe den gleichen Fehler bekommen. Feder aus Gemfile entfernt und neu gebündelt. Keine wirkliche Lösung.
Ich habe den Code gefunden, der diesen Fehler verursacht hat
config/initializers/an_initializer.rb
require "lib/a_file_i_need"
Ich habe es geändert für
require "#{ Rails.root }/lib/a_file_i_need"
quelle
#{Rails.root}
an den Pfad hat mir geholfen, den Fehler zu beseitigen.Ich habe diesen Fehler erhalten, indem ich versucht habe, Rails 4 und imagemagick und rmagick zu aktualisieren. Also bin ich einfach gelaufen
Wählen Sie die Option Alle Versionen. Dann versuchen Sie es erneut
BEARBEITEN: Dies geschah gerade jetzt wieder bei mir, weil ich versucht habe, einen Edelstein zu verwenden, ohne den erforderlichen Basisedelstein zu installieren. In meinem Fall bestand die Lösung darin, "omniauth-google" zu installieren, bevor versucht wurde, "omniauth-google-oauth2" zu verwenden. Da ich jedoch nicht installiert habe, wurde der gleiche Fehler erneut angezeigt
quelle
Ich habe den gleichen Fehler bekommen. Ich hatte Ruby 2.1.3 und Rails 4.1.6 auf Mavericks und dann migrierte ich zu Yosemite und installierte die 4.2.0 Rails-Version Ruby 2.1.5 und meine Apps, die ich in der vorherigen Version erstellt hatte, funktionierten nicht mit der neuen Also habe ich einige Gem-Sets mit RVM erstellt und die Version 2.1.3 installiert. Als ich den Server ausführen wollte, wurde folgende Fehlermeldung angezeigt:
bin/rails:6: warning: already initialized constant APP_PATH /Users/Lexynux/_WebProjects/RoR_Apps/SAIIP2/bin/rails:6: warning: previous definition of APP_PATH was here Usage: rails COMMAND [ARGS]
Und wie oben erwähnt, lief ich:
rake rails:update:bin
Ich schaff das:
LoadError: dlopen(/Users/Lexynux/.rvm/gems/ruby-2.1.3@SAIIP2/extensions/x86_64-darwin-14/2.1.0-static/mysql2-0.3.16/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib
Dann lief ich das:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Und schließlich wiederholte ich den ersten Befehl, den das Terminal mich danach fragte:
Overwrite /Users/Lexynux/_WebProjects/RoR_Apps/SAIIP2/bin/rails? (enter "h" for help) [Ynaqdh]
Ich habe gerade 'Y' eingegeben und die Eingabetaste gedrückt.
Nach all dem fing ich an zu arbeiten und ging gut.
Vielen Dank.
quelle
Ich habe diesen Fehler nach dem Upgrade von postgresql erhalten.
Dieses Problem wurde für mich behoben.
quelle
Das ist mir passiert, nachdem ich a
brew upgrade
. Ich vermute, dass dies einige Edelsteine mit nativen Erweiterungen zerstört hat, obwohl es keine Fehlermeldung gab, die darauf hinweist.Am Ende habe ich meine installierten Edelsteine vollständig entfernt (in meinem Fall habe ich die Ruby-Version mit vollständig deinstalliert und neu installiert
rbenv
).Durch Ausführen wurden
bundle install
die nativen Erweiterungen neu kompiliert, und alles wurde erneut ausgeführt.quelle
mysql gem
und dann eine Bundle-Installation ausführen.Ich habe den gleichen Fehler bekommen, mit dem ich verwandt war
gem dotenv
. Anweisungen lauteten, Gemfile Folgendes hinzuzufügen:gem 'dotenv', :require => 'dotenv/rails-now'
Aber wie sich herausstellte,
dotenv/rails-now
verursachte der Fehler. Wenn Siedotenv
nicht benötigenrails-now
quelle
Verwenden Sie pg und mysql in verschiedenen Zweigen? Wenn ja, bestätigen Sie bitte die Datenbankkonfigurationsdatei.
quelle
Ich werde posten, was für mich funktioniert hat.
Auskommentieren
gem 'spring'
Hinzufügen
gem 'net-shh'
und Renn
bundle install
Und starten Sie Ihren Server neu
quelle
Ich habe diesen Fehler nach dem Upgrade der Schienen erhalten. Deaktivieren
spring
gibt mir einen Hinweis, dass das Problem mit:gem 'google-api-client', require: 'google/api_client'
Gewechselt zu:
gem 'google-api-client', '0.9'
Das Problem wurde behoben.
quelle
Beim Versuch, eine Anwendung in einer Vagrant-Umgebung zu starten, wurde dieselbe Fehlermeldung ausgegeben. Es tauchte aus dem Nichts auf, nachdem der Anwendungscode nicht geändert wurde (und andere seltsame Verhaltensweisen folgten, z. B. die Datei development.rb, die beim Versuch, die App auszuführen, gelöscht wurde).
Am Ende habe ich die VM einfach angehalten und neu gestartet. Dann war alles in Ordnung. Ich gehe also davon aus, dass es sich möglicherweise um ein Problem mit der Dateisynchronisierung / freigegebenen Ordnern handelt. (Standardmäßig wird der freigegebene Vagrant-Ordner verwendet).
quelle
Führen Sie diese in der Konsole aus:
rake tmp:clear rake secret
quelle
IF
rake rails:update:bin
gibt zusätzliche Fehler:Ich hatte kürzlich einige Serverwartungen durchgeführt und anschließend OpenSSL aktualisiert.
Als ich versuchte, den
rake rails:update:bin
Befehl auszuführen, wurde ein Fehler in Bezug auf openSSL angezeigt.Nachdem ich meine Version von Ruby (`rvm reinstall ruby-xxx 'mit RVM) neu erstellt hatte, verschwanden beide Fehler.
Das ist immer einen Versuch wert, denke ich.
quelle
Mein Problem war, dass ich eine veraltete Version von Ruby 1.9.3 mit Rails 4.2 verwendete. Ich habe ein Upgrade auf 2.1.2 durchgeführt, das defekte Projekt entfernt, ein neues Rails-Blog ausgeführt, um mein Projekt neu zu erstellen, in meine neu erstellte App navigiert und den Rails-Server ausgeführt, und es hat funktioniert.
quelle
Ich hatte gerade dieses Problem und stellte fest, dass es durch die Tatsache verursacht wurde, dass ich einen Edelstein aus der Edelsteindatei entfernt hatte, ohne die anderen
require
Referenzen zu löschen . In meinem Fall musste ich es nur aus config / application.rb entfernen.quelle
Hatte dieser Fehler kürzlich, wird er durch spring verursacht, aufgrund des vorgeschlagenen Codes in ausführbaren Dateien:
begin load File.expand_path('../spring', __FILE__) rescue LoadError end
Es erwartet ursprünglich eine
LoadError
for-Feder selbst in der Produktion, aber durch diesen Code werden auch alle anderen Ladefehler ignoriert.Wenn Sie also einen anderen
LoadError
Ladevorgang in Schienen haben (z. B. in Routen / Init), schlägt der Start des Federarbeiters fehl, und dann geht ein Zweig, der versucht, alles erneut zu laden, als gäbe es keine Feder.quelle
Für mich war dieses Problem unter anderem das Ergebnis eines Bundle-Upgrades von rvm-capistrano.
Um dies hinzuzufügen, müssen am Ende falsche Fehler behoben werden, wie in diesem vorherigen Beitrag beschrieben
gem 'rvm-capistrano', require: false
Dies könnte möglicherweise ein zusätzliches Problem sein, da das Ausführen
rake rails:update:bin
möglicherweise dazu beigetragen hat, das ursprüngliche Problem zu beheben.quelle