2016-03-21 9 views
1

Ich versuche, meine Entwicklungsumgebung in Gang zu bringen und ich stoße auf einen großen Haken. Alles sah aus, als wäre es ein großer Erfolg und stattdessen bekam ich einen schlechten Dolmetscher. Kann mir jemand dabei helfen?

command: `$ xcode-select version` returns: `2343.` 
command: `$ rbenv version` returns: `rbenv 1.0.0` 
command: `$ rbenv global 2.2.1` set rbenv to *2.2.1 
command: `$ ruby -v` returns: `2.2.1p85` 

Okay, so weit ...

command: `$ gem install rails` returned: `Successfully installed rails-4.2.6` 
command: `$ rbenv rehash` after every command 
command: `$ rails new testapp` returns: `-bash: /usr/local/bin/rails: /usr/local/opt/ruby/bin/ruby: bad interpreter: No such file or directory` 

Ich glaube, ich habe ein Problem:

Dies sind die Rückgabewerte bekomme ich, wenn ich sie in der Befehlszeile ausgeführt werden.

command: `$ git --version` returns: `git version 2.5.4` 

Was könnte passieren und kann ich mich von einem solchen Sturz erholen?

Wenn ich den Server starte und auf die URL schaue, sehe ich Versionen von Schiene dort.

command: `$ gem server` 

bei der URL localhost: 8808 Ich sehe 3 Edelsteine ​​Versionen von Schienen gibt: 4.2.4, 4.2.5, 4.2.6

Wie kann ich dieses Problem lösen?

+1

Was zeigt welcher Rubin? – Doon

+0

'$ 2.2.1p85' gibt' ruby ​​2.2.1p85' zurück –

+2

rails hat '/ usr/local/opt/ruby ​​/ bin/ruby' als Shebang (#!), Aber das scheint nicht zu existieren. wenn 'which ruby' nicht etwas zurückgibt und Sie' 2.2.1p85' eingeben müssen, um etwas auszuführen, hat es etwas durcheinander gebracht. Ich bin kein rbenv-Benutzer (immer noch lieber rvm), aber das scheint, dass entweder Ihre Rbenv-Installation versaut ist, oder Sie installieren Rails mit einer anderen Version von Ruby, dann versuchen Sie es mit zu starten. Gem setzt normalerweise den Shebang auf die aktuelle Laufversion von Ruby. Diese – Doon

Antwort

1

Versuch zur Reinigung mit gem cleanup und dann neu installieren rails

gem uninstall rails

gem install rails

+0

Ich führte diese 3 Befehle aus und nichts änderte sich. Ich denke mein Problem ist in –

+0

Ich führte diese 3 Befehle aus und nichts änderte sich. Ich denke, das Problem ist an dieser Stelle mit der Bash-Shell. Die '$ gem cleanup' funktionierte, die' $ gem uninstall rails, funktionierte und die '$ gem install rails' installierten' rails 4.2.6', aber nachdem ich 'rbenv rehash' ausgeführt hatte, schloss ich die Terminalanwendung und öffnete sie wieder Rückkehr von '$ rails -v' war und bleibt '-bash:/usr/local/bin/rails:/usr/local/opt/ruby ​​/ bin/ruby: schlechter Interpreter: Keine solche Datei oder Verzeichnis'. Ich kann den Inhalt meines .bash_profile veröffentlichen, wenn das helfen könnte. –

1

TL; DR: Trash alle dem Rubin bezogene, nicht-Symlink-Skripte in/usr/local/bin, also alles mit dem gebrochenen Shebang.

Ich war eine Antwort zu schreiben, als ich erkennen, dass @Doon es auf dem Kopf getroffen, tief in seinem Kommentar auf der Frage:

gem normalerweise die shebang auf die aktuelle Version von Ruby eingestellt .

Ich lief in diesem "schlechten Dolmetscher" Fehler nach dem Einrichten eines neuen Dev-Laptops. Ich hatte ursprünglich Ruby über Homebrew (brew install ruby) installiert, nur um schnell aufzustehen. Ein Firmen-Setup-Skript hatte chruby installiert, aber ich glaube nicht, dass es irgendwelche Rubine gebaut hat. Vermutlich habe ich auch einige Edelsteine ​​installiert. Ich habe dann rbenv installiert, an das ich gewöhnt bin und mit dem ich mich gut auskenne, und habe ein paar Rubine installiert. Irgendwann habe ich Homebrews Ruby und Chruby deinstalliert.

Bis zu diesem Zeitpunkt hatte ich mehrere ausführbare Dateien in /usr/local/bin/ die reguläre Dateien waren (das heißt nicht symbolische Links zu Dateien in ../Cellar), die alle eine Shebang-Zeile von #!/usr/local/opt/ruby/bin/ruby hatte. Allerdings wurde /usr/local/opt/ruby gelöscht, als ich Homebrews Rubin deinstallierte, was zu all diesen kaputten Skripten führte.

Meine Lösung: Beginnen Sie bei Null!

  1. Deinstallieren Sie die rbenv gebauten Rubine (rbenv uninstall 1.2.3)
  2. Trash alle der Rubin bezogene, nicht-Symlink-Skripte in/usr/local/bin. das heißt alles, was mit dem gebrochenen shebang
  3. Re-installieren Sie die rbenv Rubine

Hinweis: die Homebrew des vim brach, die die Rubin-Flasche erfordert, so dass ich wieder neu installiert.

Die gem-basierten Skripte in/usr/local/bin sind jetzt symbolisch in Cellar, mit einem Keller-basierten Shebang, und meine projektspezifischen rbenv-installierten Rubine zeigen in meinen .rbenv-Ordner. Alles sieht gut aus!