2016-10-12 1 views
1

J'utilise donc rbenv pour définir ma version ruby ​​(pour le projet spécifique sur lequel je travaille, c'est 2.1.1). Le problème est que bundler est incapable de détecter ce changement. J'ai même essayé de mettre la version dans mon Gemfile:Bundler avec le fichier pathfile version rbenv numéro

source "https://my-proxy-address" 
ruby "2.1.1" 
gem 'fileutils' 
gem 'json' 
gem 'chef-api' 

Cependant, cela provoque le message d'erreur exact vu here à la fin du tutoriel:

[email protected]:~/Desktop/working-bundler-env$ rbenv version 
2.1.1 (set by /Users/username/.rbenv/version) 
[email protected]:~/Desktop/working-bundler-env$ ruby -v 
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin15.0] 
[email protected]:~/Desktop/working-bundler-env$ bundle install 
Your Ruby version is 2.0.0, but your Gemfile specified 2.1.1 

The tutorial a la solution à la question (éditer un fichier pathfile), cependant ils ne disent pas quel fichier changer. Quel fichier est-ce que je change?

$ rbenv 
rbenv 1.0.0 
Usage: rbenv <command> [<args>] 

Some useful rbenv commands are: 
    commands List all available rbenv commands 
    local  Set or show the local application-specific Ruby version 
    global  Set or show the global Ruby version 
    shell  Set or show the shell-specific Ruby version 
    install  Install a Ruby version using ruby-build 
    uninstall Uninstall a specific Ruby version 
    rehash  Rehash rbenv shims (run this after installing executables) 
    version  Show the current Ruby version and its origin 
    versions List all Ruby versions available to rbenv 
    which  Display the full path to an executable 
    whence  List all Ruby versions that contain the given executable 

See `rbenv help <command>' for information on a specific command. 
For full documentation, see: https://github.com/rbenv/rbenv#readme 

$ which bundle 
/usr/local/bin/bundle 
+0

Avez-vous essayé 'rbenv rehash'? – ole

+0

Je l'ai essayé sans changement –

+0

Pouvez-vous montrer la valeur de la variable $ PATH ('echo $ PATH') et aussi la sortie de la commande' rbenv'? – ole

Répondre

0

Je remarqué que lorsque je courais gem bundle install la version était 1.13.3. Après avoir exécuté sudo find/-name bundle j'ai trouvé deux emplacements de fichier qui incluaient ce numéro de version.

/Users/myusername/.gems/gems/bundler-1.13.3/exe/bundle 
/Users/myusername/.gems/gems/bundler-1.13.3/lib/bundler/man/bundle 

Après avoir tenté d'exécuter /Users/myusername/.gems/gems/bundler-1.13.3/exe/bundle install, cela fonctionne parfaitement. Donc, je viens de faire un alias dans mon ~/.bash_profile qui a écrasé la commande bundle incorrecte.

alias bundle=/Users/alexcohen/.gems/gems/bundler-1.13.3/exe/bundle 

Le seul effet secondaire de ce petit bijou (pour le meilleur ou le pire) est qu'il crée des répertoires .bundle et path dans le répertoire où je cours bundle install où les pierres précieuses sont téléchargés dans.

Je dois encore étudier pourquoi cela se produit, mais je pense que la commande bundle dans mon terminal macs faisait référence à un type de gem bundler cassé ou un fichier quelque part dans mon système.