En suivant les instructions ici , et tout fonctionne correctement à la main. Cependant, lorsque j'utilise les instructions dans un script bash, j'obtiens rbenv command not found
car le source ~/.bashrc
ne s'est pas exécuté correctement. Que se passe-t-il? Sentez-vous comme je l'ai déjà rencontré auparavant sur quelque chose d'autre ...
* Le bit d'exécution est défini, a lancé dos2unix et a #!/bin/bash
en haut.
#!/bin/bash
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/Ruby-build.git ~/.rbenv/plugins/Ruby-build
rbenv install 2.3.1
C’est parce que le sous-shell de script ne s’exécute pas de manière interactive, auquel cas le ~/.bashrc
est défini pour ne rien faire par défaut. Vous pouvez utiliser l'une des solutions de contournement expliquées dans this et cette réponse ou simplement appeler rbenv
avec le chemin complet sur la dernière ligne:
$HOME/.rbenv/bin/rbenv install 2.3.1
Notez que pour Cosmic, il y a n package rbenv
dans les référentiels.