2013-07-04 9 views
5

Ich versuche mein erstes Juwel zu Ruby Gems zu veröffentlichen. Das Juwel funktioniert großartig vor Ort.Rake Release hängt beim Freigeben eines Edelsteins

Ich veröffentliche es mit:

$rake release 

Was mich diese in der Konsole gibt:

example_gem 0.0.3 built to pkg/example_gem-0.0.1.gem 
Tagged v0.0.1 
Pushed git commits and tags 

Dann wird der Prozess hängt. Ich habe 20 Minuten gewartet und dann abgesagt.

Als ich wieder zu lösen versuchte, bekam ich:

rake aborted! 
This tag has already been committed to the repo. 

So nahm ich an der Edelstein wurde erfolgreich abgegeben worden war, später jedoch 16 Stunden, das Juwel nicht unter meinem Konto auf Ruby-Gems ist.

So traf ich die Version und versuchte es noch einmal --trace verwenden, aber der Prozess hängt an der gleichen Stelle nur mit den folgenden Ergänzungen Ausgabe:

** Invoke release (first_time) 
** Execute release 
example_gem 0.0.3 built to pkg/example_gem-0.0.3.gem 
Tagged v0.0.3 
Pushed git commits and tags 

Was nicht in Ordnung ist?

Antwort

0

Bestückte die Version und versuchte es erneut. Diesmal hat es geklappt. Die einzige Änderung, die ich gemacht habe, war Gemfile.lock von Git zu entfernen.

4

Für Google-Suchen und -Archive: Ich stieß auf das gleiche Problem, aber aus einem anderen Grund. Als ich den empfohlenen Befehl verwendet, um meine RubyGems Zugangsdaten Datei herunterladen:

curl -u pond https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials 

... Ich muss mein Passwort-mis eingegeben haben, wie die Datei tatsächlich den Text „HTTP Basic: Access denied.“ enthalten. Es wurde kein Fehler an die Konsole ausgegeben. Die Wiederholung des Befehls curl und die sorgfältige Passworteingabe führten zu einer sinnvollen credentials Datei und der nächste Versuch, rake release auszuführen, funktionierte.

Wenn Sie Beschwerden über ein vorhandenes Tag erhalten, müssen Sie es wahrscheinlich nur lokal löschen. Verwendung:

git tag 

... um zu sehen, was da ist, und wenn Sie die Version basierend Tag identifiziert haben (zB „v2.0.0“) mit: löschen

git tag -d <tag_name> 
+0

, wie dies auf dem Fenster zu tun ? .. Ich habe es versucht, aber es stellt sich heraus "Das System kann den angegebenen Pfad nicht finden." – Fadhil

+0

Ich kann nicht mit Windows helfen, sorry, ich benutze es nicht. Generell finde ich, dass Softwareentwicklung nur auf OS X- oder Linux-Hosts möglich ist, es sei denn, Sie tun etwas 100% Microsoft-zentriertes innerhalb ihrer IDE. Vielleicht kopieren Sie meinen Befehl direkt - '~/.gem/credentials' ist ein Unix-ähnlicher Pfadname. Das '~' bedeutet "Ihr Heimatordner". Sie müssten den entsprechenden Windows-Pfad dort einfügen ... 'C: \ blah \ blah \ blah' oder etwas mehr entwickelt; Windows ist extrem seltsam. –

+0

ok ... danke für diese Pfad Erklärung ... – Fadhil