web-dev-qa-db-fra.com

Comment installer un bijou à partir de la source GitHub?

Je voudrais installer gem à partir de la dernière source GitHub.

Comment puis-je faire cela?

443
Vojto

Si vous utilisez un bundle, vous devez ajouter quelque chose comme ceci à votre Gemfile:

gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git'

Et dans le cas où il y aurait un fichier .gemspec, il devrait pouvoir récupérer et installer le gem lors de l'exécution de bundle install.

328
Misha Reyzlin

eh bien, cela dépend du projet en question. Certains projets ont un fichier * .gemspec dans leur répertoire racine. Dans ce cas, il serait

gem build GEMNAME.gemspec
gem install gemname-version.gem

D'autres projets ont une tâche de rake, appelée "gem" ou "build" ou quelque chose du genre. Dans ce cas, vous devez invoquer "rake", mais cela dépend du projet.

Dans les deux cas, vous devez télécharger la source.

393
Dominik Honnef

Essayez la gemme specific_install elle vous permet d'installer une gemme à partir de son référentiel github (comme 'Edge') ou d'une URL arbitraire. Très utile pour graver des pierres précieuses et les pirater sur plusieurs machines et autres.

gem install specific_install
gem specific_install -l <url to a github gem>

par exemple.

gem specific_install https://github.com/githubsvnclone/rdoc.git 
242
Kamek

Bundler vous permet d'utiliser des gems directement à partir de référentiels git. Dans votre Gemfile:

# Use the http(s), ssh, or git protocol
gem 'foo', git: 'https://github.com/dideler/foo.git'
gem 'foo', git: '[email protected]:dideler/foo.git'
gem 'foo', git: 'git://github.com/dideler/foo.git'

# Specify a tag, ref, or branch to use
gem 'foo', git: '[email protected]:dideler/foo.git', tag: 'v2.1.0'
gem 'foo', git: '[email protected]:dideler/foo.git', ref: '4aded'
gem 'foo', git: '[email protected]:dideler/foo.git', branch: 'development'

# Shorthand for public repos on GitHub (supports all the :git options)
gem 'foo', github: 'dideler/foo'

Pour plus d'informations, voir https://bundler.io/v2.0/guides/git.html

31
Dennis

OBSOLETE (voir commentaires)

Si le projet provient de github et figure dans la liste sur http://gems.github.com/list.html , vous pouvez simplement ajouter le référentiel github aux sources de gems pour l'installer:

$ gem sources -a http://gems.github.com
$ Sudo gem install username-projectname
16
Michael Pereira

Si vous obtenez vos gemmes d'un référentiel GitHub public, vous pouvez utiliser le raccourci

gem 'nokogiri', github: 'tenderlove/nokogiri'
13

Aussi, vous pouvez faire gem install username-projectname -s http://gems.github.com

4
Chuck Vose

Si vous installez bundler comme suggéré par gryzzly et que la gem crée un fichier binaire, assurez-vous de l'exécuter avec bundle exec mygembinary car la gem est stockée dans un répertoire bundler qui n'est pas visible sur le chemin d'accès normal à la gem.

3
Mark Cheverton

Dans votre Gemfile, ajoutez ce qui suit:

gem 'example', :git => 'git://github.com/example.git'

Vous pouvez également ajouter des options de référence, de branche et de tag,

Par exemple, si vous souhaitez télécharger depuis une branche particulière:

gem 'example', :git => "git://github.com/example.git", :branch => "my-branch"

Puis lancez:

bundle install
3
slal

Sur une nouvelle machine Linux, vous devez également installer git. Bundle l'utilise en coulisse.

1
user1208639