2017-09-05 2 views
0

Le fichier gem modifié se trouve dans le même dossier que l'application sur laquelle je travaille. Le chemin est /Users/name/Ruby/Instagram. Je dois l'installer, mais je ne peux pas simplement utiliser gem 'gem_name' install car il va installer la version générale de GitHub. Comment puis-je faire installer la gemme que je viens d'apporter des modifications?Comment rediriger l'installation du fichier gem

En outre, j'utilise RVM et ne peut pas entrer dans le fichier .rvm simplement glisser-déposer.

Répondre

0

Il y a deux possibilités:

Vous pouvez donner le bijou un nom différent.

Vous pouvez donner à la gemme un numéro de version plus élevé que celui d'origine, alors il sera préférable ... jusqu'à ce que l'auteur d'origine libère une version supérieure.

Vous pouvez configurer votre propre référentiel et le placer en premier dans la liste de recherche (c'est généralement une bonne idée si vous voulez créer des gemmes privées). Encore une fois, cela ne fonctionne que si votre numéro de version est au moins aussi élevé que le numéro officiel.

Vous pouvez simplement passer le chemin d'accès au fichier gem à gem install. Mais encore une fois, cela ne fonctionnera que jusqu'à ce que l'auteur original libère une version dont le numéro est plus grand que le vôtre.

+0

comment puis-je passer le chemin (que voulez-vous dire par là) pour le fichier gem à 'gem install' ... va-t-il choisir celui que j'ai fait des changements alors? – marriedjane875

+0

'gem install/chemin/vers/votre.gem'. –

+0

Je vais essayer cela dès que possible – marriedjane875

0

Voici ma configuration: Chaque fois que je travaille sur ma version éditée de la pierre précieuse ou si vous voulez charger ce à l'application que je fais RAILS_ENV=development bundle install, quand je veux la version live je n'installe ensemble.

Vous devez avoir la version différente, même un patch version 1.0.0 à 1.0.1 fonctionnera donc bundle mettra à jour le fichier .lock avec les chemins corrects.

version = '0.1.0' 
if ENV['RAILS_ENV'] == 'development' 
    gem 'lorem', version, path: "/home/#{ENV['USER']}/work/lorem" 
else 
    gem 'lorem', version, git: '[email protected]:ipsum/lorem.git' 
end 

Pour simplifier et seulement obtenir votre version locale que vous pouvez faire quelque chose comme ceci:

gem 'lorem', 0.1.1, path: "/Users/#{ENV['USER']}/Instagram/gem_folder/" 

vous changer la version de la gemme d'être différent de celui en direct, et exécuter bundle install.