2017-04-19 2 views
0

Dans ~/src/projet/contenant tous les fichiers, je tente de lancer bundle et bundle install, mais il me dit que je besoin d'un bijou appelé « chamois extensions "et que l'installateur gem nécessite la version de Ruby> = 2.2.0 pour fonctionner correctement.Comment contrôler la version de Ruby obtient utilisé lors de l'exécution paquet

Lorsque j'ai exécuté ruby --version, il a déclaré que Ruby 2.2.4p230 est utilisé lorsqu'il est exécuté à partir de ce répertoire.

Je sais qu'il y a plusieurs versions de Ruby sur la machine à plusieurs endroits, et j'ai du mal à suivre les chemins et à déterminer quelle technologie utilise quelle pièce.

+0

Votre question est vaste. Je recommande de supprimer la ligne sur les autres technologies et d'écrire une question concise spécifiquement sur ce problème car c'est une boîte de Pandore. –

+0

Merci pour la suggestion. Je ne sais pas exactement combien de contexte est nécessaire pour que quelqu'un puisse offrir une réponse, alors j'ai inclus tout ce que je pouvais imaginer. – user7264887

Répondre

1

Le sort Bundler docs ceci:

Vous pouvez spécifier la version requise de Ruby dans le Gemfile avec ruby. Si le Gemfile est chargé sur une version différente de Ruby, Bundler lèvera une exception avec une explication.

ruby '1.9.3' 

Ce que cela signifie est que cette application a une dépendance à une machine virtuelle Ruby qui est compatible avec 1.9.3 ABI. Si la vérification de version ne correspond pas, Bundler lèvera une exception. Cela assurera que le code courant correspond. Vous pouvez être plus précis avec les options :engine et :engine_version.

ruby '1.9.3', :engine => 'jruby', :engine_version => '1.6.7' 
+0

J'ai essayé ceci, en mettant "ruby '2.2.4" "dans le Gemfile, et il me dit le même message d'erreur que les docs disent que j'obtiendrais," Votre version de Ruby est 2.0.0, mais votre Gemfile a spécifié 2.2.4 ". Il semble que la ligne Gemfile soit prise comme une préférence plutôt qu'une commande. J'ai essayé de lire plus de ces documents, en particulier la page, et ses liens de suivi, vous avez posté ... s'il y a un moyen de résoudre ce problème dans ces documents, je ne peux pas le trouver. – user7264887

0

J'ai finalement compris l'exacte incantatoire afin d'obtenir le résultat escompté, et je me rends compte que la situation est déraisonnable d'attendre un étranger pour tenter de répondre.

Il s'agissait de chef, et j'étais censé exécuter chef exec bundle.

+0

:-) Voilà comment nous apprenons. Et comment nous apprenons à travailler avec SO. Une fois que vous avez parcouru le cycle plusieurs fois, il commence à comprendre comment définir une question et toutes les informations nécessaires. J'aime Jon Skeet "[Rédaction de la question parfaite] (https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)" et "[Résolution de problèmes de canard en caoutchouc] (https://blog.codinghorror.com/rubber-duck-problem-solving/) ". –