Rake – Sebastians Blog https://sgaul.de Neues aus den Softwareminen Thu, 04 Dec 2014 14:45:23 +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 Rake – Sebastians Blog https://sgaul.de 32 32 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
]]>
„Rake aborted!“ durch abweichende Version https://sgaul.de/2014/03/18/rake-aborted-durch-abweichende-version/ Tue, 18 Mar 2014 15:59:49 +0000 https://sgaul.de/?p=2561 „Rake aborted!“ durch abweichende Version weiterlesen]]> Stimmt die aktuell installierte Rake-Version nicht mit der im Gemfile.lock hinterlegten Version überein, bricht Rake mit einer Fehlermeldung ab:

rake routes
rake aborted!
You have already activated rake 10.1.1, but your Gemfile requires rake 10.1.0. Using bundle exec may solve this.


Stets bundle exec rake einzugeben ist recht müßig. Zwar ließe sich die Rake-Version des Projekts aktualisieren, in vielen Situationen kann man das jedoch nicht ohne weiteres entscheiden. Ein Downgrade zur Wunschversion ist jedoch recht einfach:

gem uninstall rake

Select gem to uninstall:
 1. rake-10.1.1
 2. rake-10.1.0
 3. All versions
> 1
Successfully uninstalled rake-10.1.1

Der Versionskonflikt ist somit behoben.

]]>