Antworten:
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)
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git', :branch => 'yourbranch'
gem 'redcarpet', github: 'tanoku/redcarpet'
. akash.im/2012/06/05/bundler-new-github-option.html
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git', :tag => 'v2.3.5'
<- der :tag => ''
Teil
Nun, das hängt vom jeweiligen Projekt ab. Einige Projekte haben eine * .gemspec-Datei im Stammverzeichnis. In diesem Fall wäre es
gem build GEMNAME.gemspec
gem install gemname-version.gem
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.
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.
gem install specific_install
gem specific_install -l <url to a github gem>
z.B
gem specific_install https://github.com/githubsvnclone/rdoc.git
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:
# Use the http(s), ssh, or git protocol
gem 'foo', git: 'https://github.com/dideler/foo.git'
gem 'foo', git: 'git@github.com:dideler/foo.git'
gem 'foo', git: 'git://github.com/dideler/foo.git'
# Specify a tag, ref, or branch to use
gem 'foo', git: 'git@github.com:dideler/foo.git', tag: 'v2.1.0'
gem 'foo', git: 'git@github.com:dideler/foo.git', ref: '4aded'
gem 'foo', git: 'git@github.com:dideler/foo.git', branch: 'development'
# Shorthand for public repos on GitHub (supports all the :git options)
gem 'foo', github: 'dideler/foo'
Weitere Informationen finden Sie unter https://bundler.io/v2.0/guides/git.html
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:
$ gem sources -a http://gems.github.com
$ sudo gem install username-projectname
Wenn Sie Ihre Edelsteine aus einem öffentlichen GitHub-Repository beziehen, können Sie die Kurzform verwenden
gem 'nokogiri', github: 'tenderlove/nokogiri'
Das kannst du auch gem install username-projectname -s http://gems.github.com
Fügen Sie in Ihrer Gemfile Folgendes hinzu:
gem 'example', :git => 'git://github.com/example.git'
Sie können auch Ref-, Verzweigungs- und Tag-Optionen hinzufügen.
Zum Beispiel, wenn Sie von einem bestimmten Zweig herunterladen möchten:
gem 'example', :git => "git://github.com/example.git", :branch => "my-branch"
Dann renne:
bundle install
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.
Auf einem neuen Linux-Computer müssen Sie ebenfalls installieren git
. Bundle nutzt es hinter den Kulissen.
require "bundler" Bundler.setup(:default)
Siehe bundler docs für weitere Details