Próbowałem wielu rzeczy, takich jak odinstalowanie / ponowne zainstalowanie szyn i klejnotów, ale bezskutecznie.
Kiedy wchodzę do mojego nowego projektu i uruchamiam rails s lub pakiet exec rails server, pojawia się ten błąd:
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]
W moim koszu / szynach widzę ten kod:
#!/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'
Czy ktoś wie, dlaczego ciągle otrzymuję ten błąd, gdy uruchamiam szyny?
Wyszukałem w Google i wygląda na to, że wystąpił błąd w wiosennym klejnocie, ale nie mogę go uruchomić.
ruby-on-rails
tobu
źródło
źródło
database.yml
adapterze była innaGemfile
.Odpowiedzi:
Nie mogłem znaleźć an_initilizer.rb w moim katalogu i próbowałem odinstalować / zainstalować element Spring Gem, ale to nie zadziałało.
Jednak w końcu udało mi się to uruchomić.
Najwyraźniej jest jakiś konflikt ze sprężyną i szynami 4+.
Musiałem biec:
rake rails:update:bin
Ale napotkałem inny błąd:
Library not loaded: libmysqlclient.18.dylib
Uruchomiłem następujące polecenie, które znalazłem na innym poście stackoverflow:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Następnie uruchomiono oryginalne polecenie:
rake rails:update:bin
Następnie uruchom polecenie serwera:
A teraz mój serwer WebBrick jest uruchomiony.
źródło
bin/rake db:migrate RAILS_ENV=development
rake rails:update:bin
na pomoc.źródło
Jeśli korzystasz z El Capitan (OS X 10.11), Security Integrity Protection (SIP) uniemożliwi połączenie z / usr / lib w celu naprawienia mysql. Zamiast tego połącz go z / usr / local / lib:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
źródło
mysql_config --libs
potem robiszsudo ln -s mypath /usr/local/lib/libmysqlclient.18.dylib
To jest praca dla mnie.
gem uninstall mysql2
bundle install
lubgem install mysql2
źródło
Otrzymałem ten sam błąd. Usunięto sprężynę z Gemfile i ponownie dołączono. Nie jest to jednak rozwiązanie.
Znalazłem kod, który spowodował ten błąd w
config/initializers/an_initializer.rb
require "lib/a_file_i_need"
Zmieniłem to dla
require "#{ Rails.root }/lib/a_file_i_need"
źródło
#{Rails.root}
do ścieżki pomogło mi pozbyć się błędu.Otrzymałem ten błąd, próbując zaktualizować rails 4 oraz imagemagick i rmagick. Więc po prostu pobiegłem
Wybierz opcję Wszystkie wersje. Następnie spróbuj ponownie
EDYCJA: To się powtórzyło właśnie teraz, ponieważ próbowałem użyć klejnotu bez instalowania wymaganego klejnotu podstawowego. W moim przypadku rozwiązaniem była instalacja „omniauth-google” przed próbą użycia „omniauth-google-oauth2”, ale ponieważ nie zainstalowałem, ponownie wystąpił ten sam błąd
źródło
Mam ten sam błąd. Miałem Ruby 2.1.3 i Rails 4.1.6 działające na Mavericks, a następnie przeprowadziłem migrację do Yosemite i zainstalowałem wersję 4.2.0 rails oraz Ruby 2.1.5, a moje aplikacje, które stworzyłem w poprzedniej wersji, nie działały z nową , więc stworzyłem kilka zestawów klejnotów za pomocą RVM i zainstalowałem wersję 2.1.3. Teraz, gdy chciałem uruchomić serwer, otrzymałem ten błąd:
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]
I jak wspomniał Tobu pobiegłem:
rake rails:update:bin
Mam to:
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
Następnie uruchomiłem to:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
I w końcu powtórzyłem pierwszą komendę, gdy terminal poprosił mnie o to:
Overwrite /Users/Lexynux/_WebProjects/RoR_Apps/SAIIP2/bin/rails? (enter "h" for help) [Ynaqdh]
Po prostu wpisałem „Y” i wcisnąłem Return.
Po tym wszystkim zacząłem pracować i szło mi dobrze.
Dzięki.
źródło
Otrzymałem ten błąd po aktualizacji postgresql.
$ gem uninstall pg $ gem install pg
rozwiązał ten problem za mnie.
źródło
Zdarzyło mi się to po wykonaniu
brew upgrade
. Domyślam się, że zepsuło to pewne zalety rozszerzeń natywnych, mimo że nie było komunikatu o błędzie wskazującego na to.Skończyło się na tym, że całkowicie usunąłem zainstalowane klejnoty (w moim przypadku całkowicie odinstalowałem i ponownie zainstalowałem wersję Ruby za pomocą
rbenv
).Uruchomienie
bundle install
ponownie skompilowało rozszerzenia natywne i wszystko znów działało.źródło
mysql gem
zainstalowanie pakietu.Otrzymałem ten sam błąd, z którym jest powiązany
gem dotenv
. Instrukcje miały na celu dodanie do Gemfile:gem 'dotenv', :require => 'dotenv/rails-now'
Ale jak się okazało,
dotenv/rails-now
spowodował błąd. Jeśli używaszdotenv
, nie wymagajrails-now
źródło
Czy używasz pg i mysql w różnych gałęziach? Jeśli tak, potwierdź plik konfiguracyjny db.
źródło
Opublikuję, co zadziałało dla mnie.
Skomentować
gem 'spring'
Dodaj
gem 'net-shh'
i biegnij
bundle install
I uruchom ponownie serwer
źródło
Otrzymałem ten błąd po aktualizacji szyn. Wyłączenie
spring
podpowie mi, że problem dotyczył:gem 'google-api-client', require: 'google/api_client'
Zmienić na:
gem 'google-api-client', '0.9'
Rozwiązano problem.
źródło
Otrzymałem ten sam komunikat o błędzie podczas próby uruchomienia aplikacji w środowisku Vagrant. Pojawił się znikąd po zerowych zmianach w kodzie aplikacji (i nastąpiło inne dziwne zachowanie, takie jak usunięcie pliku development.rb podczas próby uruchomienia aplikacji).
W końcu po prostu zatrzymałem maszynę wirtualną i uruchomiłem ją ponownie, wszystko było w porządku, więc zakładam, że był to problem z synchronizacją plików / udostępnianymi folderami? (używany jest domyślny folder współdzielony Vagrant).
źródło
Uruchom je w konsoli:
rake tmp:clear rake secret
źródło
GDYBY
rake rails:update:bin
podaje dodatkowe błędy:Niedawno przeprowadzałem konserwację serwera, a następnie zaktualizowałem OpenSSL.
Kiedy próbowałem uruchomić
rake rails:update:bin
polecenie, pojawił się błąd związany z openSSL.Po przebudowaniu mojej wersji Rubiego (`rvm reinstalacja ruby-xxx 'z RVM) oba błędy zniknęły.
Myślę, że zawsze warto spróbować.
źródło
Mój problem polegał na tym, że używałem przestarzałej wersji Ruby 1.9.3 z szynami 4.2. Zaktualizowałem do wersji 2.1.2, usunąłem zepsuty projekt, uruchomiłem nowy blog railsów, aby odtworzyć mój projekt, przeszedłem do mojej nowo utworzonej aplikacji i uruchomiłem serwer rails i to działało.
źródło
Właśnie miałem ten problem i stwierdziłem, że jest to spowodowane faktem, że usunąłem klejnot z pliku klejnotu bez usuwania innych
require
odniesień. W moim przypadku wystarczyło usunąć go z config / application.rb.źródło
Gdyby ten błąd pojawił się niedawno, jest to spowodowane wiosną, z powodu sugerowanego kodu w plikach wykonywalnych:
begin load File.expand_path('../spring', __FILE__) rescue LoadError end
Pierwotnie oczekuje
LoadError
sprężyna będzie w produkcji, ale według tego kodu wszystkie inne błędy obciążenia również zostaną zignorowane.Tak więc, jeśli masz inny
LoadError
proces ładowania szyn (na przykład w trasach / init), uruchomienie programu Spring Worker kończy się niepowodzeniem, a następnie pojawia się gałąź, która próbuje załadować wszystko ponownie, jakby nie było sprężyny.źródło
Dla mnie ten problem jest wynikiem między innymi aktualizacji pakietu rvm-capistrano.
Dodanie tego wymaga: fałszywe naprawione rzeczy w końcu zgodnie z tym poprzednim postem
gem 'rvm-capistrano', require: false
Chociaż może to być dodatkowy problem - ponieważ uruchomienie
rake rails:update:bin
mogło pomóc w rozwiązaniu początkowego problemu.źródło