rbenv: версия "2.2.3" не установлена (задается переменной среды версии RBENV)
когда я запускаю сценарий развертывания, у меня возникают ошибки:
[cb123fad] rbenv: version `2.2.3' is not installed (set by RBENV_VERSION environment variable)
DEBUG [cb123fad]
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as deploy@xx.xx.xx.xx: Exception while executing as deploy@xx.xx.xx.xx: bundle exit status: 1
bundle stdout: rbenv: version `2.2.3' is not installed (set by RBENV_VERSION environment variable)
bundle stderr: Nothing written
SSHKit::Runner::ExecuteError: Exception while executing as deploy@xx.xx.xx.xx: bundle exit status: 1
bundle stdout: rbenv: version `2.2.3' is not installed (set by RBENV_VERSION environment variable)
bundle stderr: Nothing written
SSHKit::Command::Failed: bundle exit status: 1
bundle stdout: rbenv: version `2.2.3' is not installed (set by RBENV_VERSION environment variable)
bundle stderr: Nothing written
Tasks: TOP => deploy:initial
(See full trace by running task with --trace)
The deploy has failed with an error: Exception while executing as deploy@xx.xx.xx.xx: Exception while executing as deploy@xx.xx.xx.xx: bundle exit status: 1
bundle stdout: rbenv: version `2.2.3' is not installed (set by RBENV_VERSION environment variable)
bundle stderr: Nothing written
Capfile
и set :rbenv_ruby, '2.2.3'
сервер и локально я установил ruby 2.2.3p173
изменение значения с 2.2.3
до 2.2.3p173
на set :rbenv_ruby
не работает.
3 ответов
я решил ту же самую задачу:rbenv_path
. Ваш должен быть:set :rbenv_path, '/home/your/.rbenv/'
Это должно быть внутри deploy.rb
.
приведенный выше ответ не сработал для меня. gem update --system
, потом bundle install
приведет к fatal: No live threads left. Deadlock?
ошибка.
bundle exec cap development deploy
завершает развертывание если gem 'sshkit', '~> 1.7.1'
это spedified.
sshkit
gem может обновиться до 1.8.0
или больше. В этом случае, предполагая стандартную настройку сервера Ubuntu, в deploy.rb
set :rbenv_path, '$HOME/.rbenv'
позволит завершить развертывание.
https://github.com/capistrano/sshkit/issues/303 и https://github.com/capistrano/rbenv/pull/59
Примечания
set :rbenv_path, '/home/your/.rbenv/' # works
set :rbenv_path, '~your/.rbenv/' # doesn't work
эта проблема создается из-за изменения в sshkit.
diff --git a/Gemfile.lock b/Gemfile.lock
index b85dabe..a909ee0 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -57,6 +57,7 @@ GEM
code_metrics (0.1.3)
coderay (1.1.0)
colored (1.2)
+ colorize (0.7.7)
concord (0.1.5)
adamantium (~> 0.2.0)
equalizer (~> 0.0.9)
@@ -215,7 +216,8 @@ GEM
slop (3.6.0)
spoon (0.0.4)
ffi
- sshkit (1.8.1)
+ sshkit (1.7.1)
+ colorize (>= 0.7.0)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
terminal-table (1.5.2)