Chaque fois que je fais bundle install
toutes les gemmes sont installées à
app_dir/vendor/bundle
chemin et consomme beaucoup d'espace disque. J'ai également essayé d'installer des gemmes là où elles devraient être installées, c'est-à-dire des gemmes pendant le développement par ceci:
bundle install --no-deployement
mais cela ne fonctionne pas pour moi et installe des joyaux à vendor/bundle
. Comment puis-je faire en sorte qu'il soit installé globalement pour toutes les applications ou à l'emplacement Ruby gemsets? J'ai également essayé de supprimer .bundle/config
mais rien n'a changé.
J'utilise:
rvm version: 1.23.14
Ruby version: 2.0.0-p247
Rails 3.2.13
Voici mon ~/.bash_profile
:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
eval "$(rbenv init -)"
alias pg='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log'
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
Ma ~/.bashrc
:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
Quelques autres informations dont vous pourriez avoir besoin:
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which bundle
/Users/aman/.rvm/gems/Ruby-2.0.0-p247@global/bin/bundle
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which bundle
/Users/aman/.rbenv/versions/2.0.0-p247/bin/bundle
amandeep@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which Ruby
/Users/aman/.rbenv/versions/2.0.0-p247/bin/Ruby
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv gemset active
rbenv: NO such command `gemset'
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which Rails
/Users/aman/.rvm/gems/Ruby-2.0.0-p247@global/bin/Rails
J'ai également essayé mais je n'ai pas aidé:
bundle install --system
et en supprimant .bundle
répertoire.
S'il vous plaît, aidez-moi à installer des gemmes dans des gemmes pas vendor/bundle
ou un emplacement par défaut.
Utilisation bundle env
pour afficher les chemins et la configuration de l'ensemble
Après ce chemin d'ensemble défini pour ~/.rvm/gems/Ruby-2.0.0-p247
comme ça:
bundle install --path ~/.rvm/gems/Ruby-2.0.0-p247
qui est global et vous pouvez également utiliser votre propre chemin personnalisé.
Publier ce bundle install
n'aura plus jamais besoin de path
et installera toujours toutes vos gemmes dans ce directory(~/.rvm/gems/Ruby-2.0.0-p247 in my case
) pour cette application qui n'est pas dans app_folder/vendor/bundle
Dans votre dossier de projet, vous aurez .bundle
répertoire contenant la configuration de bundler
. essayez de supprimer ce dossier. il devrait réinitialiser le chemin d'installation de vos gemmes aux paramètres à l'échelle du système.
Dans le cas où vous souhaitez simplement modifier le chemin d'installation, ouvrez .bundle/config
avec votre éditeur préféré devrait vous montrer le chemin vers vendor/bundle
. La suppression de cette ligne la restaurera à ses valeurs par défaut sans supprimer les autres configurations que vous pourriez avoir.
En outre, un autre scénario moins fréquent est que vos paramètres à l'échelle du système soient gâchés. Selon @NaoiseGolden:
J'ai dû supprimer
.bundle
à partir de mon dossier d'accueil (rm -rf ~/.bundle). Vous pouvez vérifier votre configuration en exécutantbundle env
Essayez d'installer en utilisant
bundle install --system
Je pense qu'au départ, l'installation du bundle a été exécutée avec --path
flag et bundler se souviennent maintenant de cette configuration.
Depuis le bundler page de manuel
Certaines options sont mémorisées entre les appels à l'installation groupée et par le runtime Bundler.
Les appels ultérieurs à l'installation groupée installeront les gemmes dans le répertoire initialement passé à -- chemin. Le runtime Bundler recherchera des gemmes à cet endroit. Vous pouvez annuler cette option en exécutant bundle install --system.
[~ # ~] modifier [~ # ~]: Comme mentionné dans les commentaires ci-dessous, et sinon, ce installe le système de gemmes à l'échelle. Dans le cas où vous utilisez rvm, etc. pour gérer votre environnement pour différentes applications, vérifiez @ réponse d'IuriG mentionné ci-dessus.
Essayez d'exécuter bundle env
. Cela vous indiquera où la configuration du chemin est définie.
Tout d'abord, selon vos informations, il semble que vous ayez installé à la fois rvm et rbenv. C'est une très mauvaise idée . Vous devez supprimer l'un d'eux (rbenv + bundler fonctionne comme un charme pour moi, n'a pas essayé rvm).
En ce qui concerne votre question, vérifiez .bundle/config
dans votre projet, car toute la configuration du bundle pour ce projet se trouve là (si elle est toujours supprimée, vous pouvez en créer une nouvelle). Vous pourriez vouloir ajouter cette ligne (ou la changer, si elle est déjà là): BUNDLE_DISABLE_SHARED_GEMS: '0'
pour partager des gemmes, ils vont où votre BUNDLE_PATH:
est défini (BUNDLE_PATH: vendor
dans mon cas).
Pour le fichier de configuration globale, regardez dans ~/.bundle/config
Cette page de manuel pourrait également être utile: bundle config
Pour installer Gem dans tout le système en évitant le fournisseur/bundle de chemin, exécutez simplement la commande suivante dans le répertoire du projet
bundle install --system