2017-03-16 3 views
8

Je suis en cours d'exécution de la commandeVotre compte utilisateur ne peut pas installer le système RubyGems

bundle install 

dans un dossier de projet. Dans certains dossiers de projet, cela produira une erreur et dans d'autres dossiers de projets, cela ne produira pas d'erreur. L'erreur est:

Votre compte utilisateur ne peut pas installer sur le système RubyGems

Je sais que cela peut être résolu en suivant les conseils recommandé:

bundle install --path vendor/bundle 

Ma question est pourquoi le comportement est-il incohérent?

+0

Aussi je remarque que Travis CI exécute exactement la commande 'bundle install --jobs = 3 --retry = 3' mais il s'installe implicitement dans 'vendor/bundle' selon https://docs.travis-ci.com/user/languages/ruby/#Default-Test-Script –

Répondre

2

Habituellement, si vous utilisez RVM, rbenv ou chruby installer Ruby, toutes les pierres précieuses seront installés dans votre dossier personnel sous ~/.rbenv/ruby-version/...

Si vous utilisez votre système Ruby bien (celui qui est installé par défaut) les gemmes sont installées à côté d'elle dans un emplacement auquel vous n'avez pas accès sans sudo. Je suppose que votre gestionnaire de version utilise par défaut le système Ruby, mais certains de vos projets ont un fichier .ruby-version qui leur dit d'utiliser une version différente de Ruby à laquelle vous avez accès.

0

Dans mon cas, j'avais déjà $BUNDLE_PATH sans autorisations suffisantes à l'utilisateur Bundler à écrire dans.

Your user account isn't allowed to install to the system RubyGems 
bundle install --path vendor/bundle 
-1

Supprimer

sudo mv ~/.bundle /tmp 

Try réinstalle

bundle install 
+0

Ceci ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article. - [De l'examen] (/ review/low-quality-posts/19033999) –