Ich möchte gem von der neuesten GitHub-Quelle installieren.
Wie mache ich das?
Wenn Sie einen Bundler verwenden, müssen Sie Ihrem Gemfile Folgendes hinzufügen:
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git'
Und falls es eine .gemspec
Datei gibt, sollte sie in der Lage sein, den Edelstein beim Ausführen abzurufen und zu installieren bundle install
.
UPD. Wie in den Kommentaren angegeben, müssen Sie Folgendes hinzufügen, damit Bundler ordnungsgemäß funktioniert config.ru
:
require "bundler"
Bundler.setup(:default)
require "bundler" Bundler.setup(:default)
Siehe bundler docs für weitere Detailsgem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git', :branch => 'yourbranch'
gem 'redcarpet', github: 'tanoku/redcarpet'
. akash.im/2012/06/05/bundler-new-github-option.htmlgem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git', :tag => 'v2.3.5'
<- der:tag => ''
TeilNun, das hängt vom jeweiligen Projekt ab. Einige Projekte haben eine * .gemspec-Datei im Stammverzeichnis. In diesem Fall wäre es
Andere Projekte haben eine Rake-Aufgabe, die als "Edelstein" oder "Build" oder ähnliches bezeichnet wird. In diesem Fall müssen Sie "Rake" aufrufen, dies hängt jedoch vom Projekt ab.
In beiden Fällen müssen Sie die Quelle herunterladen.
quelle
gemname-version.gem
Datei wird beim Aufrufen erstelltgem build
gem install gemname-version.gem
installiert der Befehl das Git-Juwel lokal? Ich kann nirgendwo auf meiner lokalen Maschine einen Motor finden, der auf diese Weise installiert wurde. Wo versteckt Bundler es?gem install gemname-version.gem
Linie sollte seingem install --local gemname-version.gem
gem which gemname
sollte dir sagen, wo sich ein bestimmtes Juwel befindet, funktioniert das nicht für dich?Versuchen Sie, den specific_install gem es Ihnen ermöglicht es Ihnen , ein Juwel zu installieren aus , von seiner Github - Repository (wie ‚Kante‘) oder von einer beliebigen URL. Sehr nützlich, um Edelsteine zu forken und auf mehreren Maschinen und dergleichen zu hacken.
z.B
quelle
specific_install
Edelstein mehr Erklärungen hinzufügen ?ERROR: While executing gem ... (NoMethodError) undefined method 'build' for Gem::Package:Module
Klingt sehr cool, aber ich werde nicht weiter darauf eingehen. Ich wollte nur posten, dass es bei mir nicht funktioniert hat, falls jemand anderes es auf der Grundlage der SO-Empfehlung ausprobieren möchte.Mit Bundler können Sie Edelsteine direkt aus Git-Repositories verwenden. In Ihrer Gemfile:
Weitere Informationen finden Sie unter https://bundler.io/v2.0/guides/git.html
quelle
bundle
Während der Ausführung werden solche Git-Gem-Abhängigkeiten nicht global installiert, sondern im Home-Verzeichnis des aktuellen Benutzers. Der Passagier führt Ruby als Benutzer Ihres Webservers aus (z. B.www-data
), der keinen Zugriff auf dieses Verzeichnis hat, und daher wird dieses "Git-Gem" nicht geladen. Sie erhalten eine Fehlermeldung... is not yet checked out. Run bundle install first
.OBSOLETE (siehe Kommentare)
Wenn das Projekt von github stammt und in der Liste unter http://gems.github.com/list.html enthalten ist , können Sie das github-Repo einfach zu den Edelsteinquellen hinzufügen, um es zu installieren:
quelle
Wenn Sie Ihre Edelsteine aus einem öffentlichen GitHub-Repository beziehen, können Sie die Kurzform verwenden
quelle
Das kannst du auch
gem install username-projectname -s http://gems.github.com
quelle
Fügen Sie in Ihrer Gemfile Folgendes hinzu:
Sie können auch Ref-, Verzweigungs- und Tag-Optionen hinzufügen.
Zum Beispiel, wenn Sie von einem bestimmten Zweig herunterladen möchten:
Dann renne:
quelle
Wenn Sie mit Bundler installieren, wie von gryzzly vorgeschlagen, und der Edelstein eine Binärdatei erstellt, stellen Sie sicher, dass Sie ihn ausführen,
bundle exec mygembinary
da der Edelstein in einem Bundler-Verzeichnis gespeichert ist, das auf dem normalen Edelsteinpfad nicht sichtbar ist.quelle
Auf einem neuen Linux-Computer müssen Sie ebenfalls installieren
git
. Bundle nutzt es hinter den Kulissen.quelle