Capistrano implementiert systemweite RVM, die keine installierten Rubies sehen

8

Ich verwende eine systemweite Ruby-Installation auf meinem Server und versuche, auf einem RVM-Gemset zu deployen (wie rvm 1.9.2@gemset_name)

Wenn ich meine Cap-Datei starte, kotzt Cap und sagt, dass ein Ruby nicht installiert ist.

Allerdings , in Wirklichkeit ist Ruby installiert. (Der bereitstellende Benutzer ist Teil der rvm-Gruppe und kann rvm use in der Befehlszeile manuell eingeben.)

Was könnte ich falsch machen?

Relevante Teile von Capfile

%Vor%

Kappenausgabe

%Vor%

Ok, genial: 1.9.2 ist installiert. (Das ist zu erwarten - ich habe 1.8.7, REE und 1.9.2 manuell installiert!)

Aber das ist nicht alles Capistrano sagt ...

%Vor%

Diese letzte Zeile behauptet, dass 1.9.2 nicht installiert ist? !!

%Vor%

Debugging mit Cap-Shell

Jim Gay fragt: "Was ist mit Debugging mit Cap Shell?"

rvm/capinstrano führt Kommandos durch rvm-shell aus, die sofort nach der Version und dem Gemset suchen, bevor der Befehl ausgeführt werden kann. (Also die disable_rvm_shell zuvor definiert, die wir für die erste rvm list rubies verwendet haben.

Zum Beispiel:

%Vor%

Fazit

Ich mache offensichtlich etwas falsch, aber was?

Einstellung von 1.9.2 als Standard Ruby ist keine Option, da ich auch eine 1.8.7 App auf dieser Box hosten werde (im Idealfall). Aus diesem Grund verwende ich RVM auf Systemebene, um damit zu beginnen.)

Ich habe auch dafür gesorgt, dass der Deploy-Benutzer in der RVM-Gruppe ist, gemäß der RVM-Dokumentation.

    
RyanWilcox 04.08.2011, 21:52
quelle

2 Antworten

7

Diese Warnung über nicht installierten Ruby ist eine irreführende msg, sollte es sagen, Ruby @ Gemset Paar nicht finden. Wenn Sie diesen Befehl auf dem Server verwenden würden:

%Vor%

Sie würden die Nachrichten in umgekehrter Reihenfolge sehen - erster Fehler, dass das Gemset nicht gefunden werden kann. Um es zu lösen, gehen Sie bitte zum Server und führen Sie:

%Vor%

Was ein Edelsteinset für dich schafft, wenn du weitere Hilfe brauchst, kontaktiere bitte den IRC-Kanal #rvm auf FreeNode-Servern.

    
mpapis 05.08.2011, 10:26
quelle
0

ok, also hatte ich gerade diese Bombe mit einer Patch-Version von Ruby anders. Server läuft: ruby-1.8.7-p371 und die Bereitstellung (cap / rvm-capistrano, nicht sicher, welche genau) wollte rvm install ruby-1.8.7-p374 .

Ich habe versucht, den Edelstein-Vorschlag in @mpapis, der Fortschritt war, aber es war dann, dass ich bemerkte, dass es mich gebeten, p374.

Installieren Sie im Zweifelsfall die letzte Nebenversion von Ruby.

    
TomDunning 19.09.2013 17:15
quelle

Tags und Links