ERROR rbenv: 2.1.2 не установлен или не найден

Я пытаюсь развернуть мой проект приложений Rails на свои цифровые приложения с помощью этого руководства.

Когда он говорит:

cap production deploy:check 

Я получаю сообщение об ошибке:

 DEBUG [8906f2ab] Running /usr/bin/env [ ! -d ~/.rbenv/versions/2.1.2 ] on 178.62.204.53 DEBUG [8906f2ab] Command: [ ! -d ~/.rbenv/versions/2.1.2 ] DEBUG [8906f2ab] Finished in 1.320 seconds with exit status 0 (successful). ERROR rbenv: 2.1.2 is not installed or not found in ~/.rbenv/versions/2.1.2 

Я побежал:

 rbenv install 2.1.2 

Это привело к:

 Downloading ruby-2.1.2.tar.gz... -> http://dqw8nmjcqpjn7.cloudfront.net/f22a6447811a81f3c808d1c2a5ce3b5f5f0955c68c9a749182feb425589e6635 Installing ruby-2.1.2... Installed ruby-2.1.2 to /home/alucardu/.rbenv/versions/2.1.2 

Когда я проверяю rbenv -v, я получаю:

 rbenv 0.4.0-129-g7e0e85b 

Когда я просматриваю свой файл и /home/alucardu/.rbenv/versions/2.1.2 в /home/alucardu/.rbenv/versions/2.1.2 там есть контент.

И когда я проверяю свой Ruby, я получаю:

 ruby 2.1.2p95 (2014-05-08 revision 45877) [i686-linux] 

Может ли кто-нибудь указать мне, где проблема?

Где вы запустили команду rbenv install 2.1.2 ? Локально или на сервере? Capistrano требует, чтобы ruby был установлен на сервере!

Кроме того, ruby необходимо установить для пользователя, с которым вы развертываете. Кажется, что учебное пособие, о котором вы говорите, предлагает сделать развертывание с root пользователем (возможно, это не самая лучшая практика), поэтому в этом случае capistrano будет искать ruby в корневом /root/.rbenv... dir /root/.rbenv...

Таким образом, «исправление»: – зарегистрируйтесь на сервере как пользователь root с помощью ssh root@ – теперь установите ruby ​​2.1.2 как root с rbenv install 2.1.2

Если вы не хотите связываться с этим, я специально создал для этого плагин capistrano-rbnev-install . Плагин гарантирует, что вам больше не придется беспокоиться о rubyовых версиях.