Die RubyGems site macht es ziemlich einfach, einen privaten Edelstein-Server zu betreiben!Private Juwel Server - Abhängigkeiten nicht auf dem Server gefunden (404)
Meine Testkonfiguration ist wie folgt: Eine AWS EC2-Instanz ist meine Workstation, und ich habe eine andere Einrichtung, um der Edelstein-Server zu sein.
Auf der Edelstein-Server-Instanz habe ich den pry
Edelstein installiert. Wenn ich gem server
für diese Instanz ausführen und das öffentliche DNS in meinem Webbrowser aufrufen, kann ich pry
und alle Abhängigkeiten in der Liste der Edelsteine sehen.
Auf meinem Arbeitsplatz habe ich ein gefälschtes App-Verzeichnis mit einem einfachen Gemfile erstellt:
source "http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808"
gem "pry"
Scheint einfach genug! Aber wenn ich bundle install
auf der Workstation laufen bekomme ich folgende Fehlermeldung:
[[email protected] my_app]$ bundle
Fetching source index from http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/
Resolving dependencies...
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/gems/coderay-1.1.1.gem)
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/gems/method_source-0.8.2.gem)
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/gems/slop-3.6.0.gem)
Using bundler 1.12.5
An error occurred while installing coderay (1.1.1), and Bundler cannot continue.
Make sure that `gem install coderay -v '1.1.1'` succeeds before bundling.
So scheint es, zu erkennen, pry
verfügbar ist, aber die Abhängigkeiten, beginnend mit coderay
, werden nicht gefunden (404 Fehler).
Ich habe mit der --dir
Flagge getüftelt, wenn gem server
ausgeführt, so dass es wie folgt aussieht:
gem server --dir=/home/ec2-user/.gem/ruby/2.0 --dir=/usr/share/ruby/gems/2.0 --dir=/home/ec2-user/.gem/ruby/2.0/cache/
... und ich habe auch in diese Verzeichnisse gegangen und laufen gem generate_index
wie ich empfohlen sah auf einer anderen Frage, aber ich bin immer noch nicht in der Lage, pry
auf meiner Arbeitsstation mit diesem privaten Server als source
zu installieren.
Gibt es etwas, was ich vermisse?
Ja, ich weiß, dass alle Abhängigkeiten auch auf meinem Edelstein-Server sein müssten. Offensichtlich befinden sich 'coderay' und die anderen unmittelbaren Abhängigkeiten von' pry' auf meinem Server; Sonst wäre 'heb 'nicht installiert. Die Frage ist also: Warum wird 'coderay' nicht gefunden? – sixty4bit