Oui, lorsque vous le faites gem install, il recherchera d'abord le répertoire actuel, donc si votre fichier .gem est là, il le ramassera. Je l'ai trouvé sur la référence de gemme , que vous pouvez également trouver utile:
l'installation de gem installera la gemme nommée. Il tentera une installation locale (c'est-à-dire un fichier .gem dans le répertoire courant), et si cela échoue, il tentera de télécharger et d'installer la version la plus récente de la gemme souhaitée.
Le lien se termine par des redirections infinies :(
Ain Tohvri
2
Enregistrement pour dire que cela fonctionne pour moi en 2019.
Charles Wood
1
J'ai Gemfileun .gemfichier mais pas un . Alors, quel est ce .gemfichier? Que doit-il contenir? - Attends - je vois. Vous voulez dire un gem-name.gemfichier. Rappelez-vous que sur unix, il est assez normal d'avoir un fichier commençant par un '.' il est donc préférable de le préciser.
Martin
Je peux confirmer qu'à partir de 2020, le lien fonctionne pour moi. Dans le cas où cela ne fonctionnerait pas dans un avenir lointain, voici l' instantané
Jed Burke
329
Vous pouvez également utiliser gem install --local path_to_gem/filename.gem
Cela ignorera l'analyse habituelle du référentiel de gemmes qui se produit lorsque vous vous arrêtez --local.
Vous pouvez trouver une autre magie avec gem install --help.
Je télécharge un bijou tel que rubygems au format zip. Il n'y a donc pas de fichier .gem ici. Comment est-ce que j'installe ceci du local? Je vous remercie.
Erran Morad
3
@BoratSagdiyev, un fichier zip n'est pas un joyau. Comme la plupart des fichiers zip, vous devez le décompresser avant de pouvoir en faire beaucoup. S'il contient une gemme, vous pouvez utiliser l'installation de gemme sur le fichier .gem extrait. Je ne me souviens pas des composants internes du format gem; il est possible qu'il s'agisse simplement d'un fichier zip avec un en-tête spécial, mais rubygems ne reconnaît pas les fichiers zip en tant que tels.
JasonTrue
62
vous pouvez également utiliser le nom de fichier complet dans votre fichier gem:
gem install /full/path/to/your.gem
cela fonctionne aussi - c'est probablement le moyen le plus simple
cela semble être la meilleure réponse moderne. la réponse acceptée
remonte
14
si vous téléchargez le fichier de projet à partir de github ou d'un autre site hôte scm, utilisez d'abord gem build pour construire le projet, afin que vous puissiez obtenir un fichier quelquechose.gem dans le répertoire courant. Ensuite, installez-le!
Si vous voulez travailler sur une fourche de gemme modifiée localement, la meilleure façon de le faire est
gem 'pry', path: './pry'
dans un Gemfile.
... où ./pryserait le clone de votre référentiel. Exécutez simplement bundle installune fois et tout changement dans les sources de gemmes que vous effectuez est immédiatement reflété. Avec gem install pry/pry.gem, les sources sont toujours déplacées GEM_PATHet vous devrez toujours exécuter les deux bundle gem pryet gem updatetester.
Regardez dans un ordinateur avec des pierres précieuses déjà installés nécessaires dans le répertoire du cache (par défaut: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache)
Copier tous les « *.gemsfichiers » à un ordinateur sans pierres précieuses en propre lieu de cache de pierres précieuses (par défaut le même chemin patron de la première étape: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache)
Dans la console, placez-vous dans le cache des gemmes (cd [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache) et lancez le gem install anygemwithdependencieshere(par exemple cucumber-2.99.0)
C'est SEC, car après avoir installé n'importe quelle gemme, par défaut rubygems place le fichier gem dans le répertoire cache gem et n'a pas de sens de dupliquer des fichiers, c'est plus facile si vous voulez que les deux ordinateurs aient les mêmes versions (ou bloqués par des règles de sécurité paranoïaques: v)
Modifier: dans certaines versions de ruby ou rubygems, cela ne fonctionne pas et déclenche des alertes ou des erreurs, vous pouvez placer des gemmes à un autre endroit mais ne pas obtenir DRY, une autre alternative consiste à lancer la commande intégrée gem serveret à ajouter l'URL localhost dans les sources de gemmes, plus informations sur:
https://guides.rubygems.org/run-your-own-gem-server/
Vous pouvez télécharger des gemmes sur https://rubygems.org/gems/ ou créer votre gemme locale via un bundle et un rack.
par exemple:
bundle gem yourGemName
installation de râteau
Prenez soin d'installer les dépendances avant d'installer de véritables gemmes.
installation de gem --local /pathToFolder/xxx-2.6.1.gem
Remarque: Si vous utilisez fluentd td-agent et ruby sur la même machine. Veuillez vous assurer d'utiliser la commande td-agent-gem de td-agent. td-agent a son propre Ruby.
Réponses:
Oui, lorsque vous le faites
gem install
, il recherchera d'abord le répertoire actuel, donc si votre fichier .gem est là, il le ramassera. Je l'ai trouvé sur la référence de gemme , que vous pouvez également trouver utile:la source
Gemfile
un.gem
fichier mais pas un . Alors, quel est ce.gem
fichier? Que doit-il contenir? - Attends - je vois. Vous voulez dire ungem-name.gem
fichier. Rappelez-vous que sur unix, il est assez normal d'avoir un fichier commençant par un '.' il est donc préférable de le préciser.Vous pouvez également utiliser
gem install --local path_to_gem/filename.gem
Cela ignorera l'analyse habituelle du référentiel de gemmes qui se produit lorsque vous vous arrêtez
--local
.Vous pouvez trouver une autre magie avec
gem install --help
.la source
vous pouvez également utiliser le nom de fichier complet dans votre fichier gem:
cela fonctionne aussi - c'est probablement le moyen le plus simple
la source
Si vous créez vos gemmes avec bundler:
Vous pouvez les installer avec râteau après leur écriture:
Il y a de fortes chances que votre bijou téléchargé le sache
rake install
également.la source
si vous téléchargez le fichier de projet à partir de github ou d'un autre site hôte scm, utilisez d'abord gem build pour construire le projet, afin que vous puissiez obtenir un fichier quelquechose.gem dans le répertoire courant. Ensuite, installez-le!
la source
Si vous voulez travailler sur une fourche de gemme modifiée localement, la meilleure façon de le faire est
gem 'pry', path: './pry'
dans un Gemfile.
... où
./pry
serait le clone de votre référentiel. Exécutez simplementbundle install
une fois et tout changement dans les sources de gemmes que vous effectuez est immédiatement reflété. Avecgem install pry/pry.gem
, les sources sont toujours déplacéesGEM_PATH
et vous devrez toujours exécuter les deuxbundle gem pry
etgem update
tester.la source
Allez sur le chemin où se trouve la gemme et appelez
gem install -l gemname.gem
la source
Eh bien, c'est mon installation sèche:
[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
)*.gems
fichiers » à un ordinateur sans pierres précieuses en propre lieu de cache de pierres précieuses (par défaut le même chemin patron de la première étape:[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
)[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
) et lancez legem install anygemwithdependencieshere
(par exemplecucumber-2.99.0
)C'est SEC, car après avoir installé n'importe quelle gemme, par défaut rubygems place le fichier gem dans le répertoire cache gem et n'a pas de sens de dupliquer des fichiers, c'est plus facile si vous voulez que les deux ordinateurs aient les mêmes versions (ou bloqués par des règles de sécurité paranoïaques: v)
la source
Vous pouvez télécharger des gemmes sur https://rubygems.org/gems/ ou créer votre gemme locale via un bundle et un rack.
par exemple:
Prenez soin d'installer les dépendances avant d'installer de véritables gemmes.
Remarque: Si vous utilisez fluentd td-agent et ruby sur la même machine. Veuillez vous assurer d'utiliser la commande td-agent-gem de td-agent. td-agent a son propre Ruby.
la source