Spring – Sebastians Blog https://sgaul.de Neues aus den Softwareminen Tue, 22 Sep 2015 13:03:39 +0000 de-DE hourly 1 https://wordpress.org/?v=6.1.7 https://sgaul.de/wp-content/uploads/2019/02/cropped-sgaul-2-1-32x32.jpg Spring – Sebastians Blog https://sgaul.de 32 32 Rails 4: Already initialized constant APP_PATH? https://sgaul.de/2015/09/24/rails-4-already-initialized-constant-app_path/ Thu, 24 Sep 2015 14:58:28 +0000 https://sgaul.de/?p=2811 Ein Fehler, der mir in Rails-4-Projekten öfter unterkommt:

bin/rails:6: warning: already initialized constant APP_PATH

Dies deutet auf ein Problem mit Spring hin. Es kann daher helfen, die Projekt-Binaries neu zu generieren:

rake rails:update:bin

Dies ist oft schon die Lösung oder sollte zumindest eine Fehlermeldung liefern, anhand derer man das tatsächliche Problem finden kann.

]]>
Bundler is using a binstub that was created for a different gem? https://sgaul.de/2014/12/04/bundler-is-using-a-binstub-that-was-created-for-a-different-gem/ Thu, 04 Dec 2014 14:45:23 +0000 https://sgaul.de/?p=2718 Bundler is using a binstub that was created for a different gem? weiterlesen]]> In regelmäßigen Abständen wirft unsere Konfiguration aus Bundler 1.7, Rails 4.1, Rspec 2.14 und Spring 1.1 bei jedem Rails-, Rake- oder Rspec-Befehl die folgende Warnung:

Bundler is using a binstub that was created for a different gem.
This is deprecated, in future versions you may need to `bundle binstub rspec` to work around a system/bundle conflict.

Auch andere Nutzer scheinen davon verwirrt zu sein, eine klare Erklärung des Problems und seiner Lösung konnte ich bisher nicht finden. Folgender Reset der Binstubs funktioniert für mich als Workaround:

rm -rf bin/*
bundle exec spring binstub --all
bundle binstub rspec-core --force
]]>
Spring ohne Bin-Präfix nutzen https://sgaul.de/2014/11/18/spring-ohne-bin-praefix-nutzen/ Tue, 18 Nov 2014 15:05:00 +0000 https://sgaul.de/?p=2707 Spring ohne Bin-Präfix nutzen weiterlesen]]> Spring lässt sich sehr einfach installieren: Gem eintragen und die Binstubs erzeugen:

bundle exec spring binstub --all

Um nun rake routes oder rails generate statt bin/rake routes oder bin/rails generate nutzen zu können, einfach die folgenden Funktionen in beispielsweise die bash_aliases eintragen:

rake() { if [ -f bin/rake ]; then bin/rake "$@"; else bundle exec rake "$@"; fi }
rails() { if [ -f bin/rails ]; then bin/rails "$@"; else bundle exec rails "$@"; fi }
rspec() { if [ -f bin/rspec ]; then bin/rspec "$@"; else bundle exec rspec "$@"; fi }

Mein Dankeschön für den Ansatz geht an Arne.

Um die ursprünglichen Varianten ohne Spring zu nutzen kann command verwendet werden:

command rake routes
]]>