2017-05-09 64 views
1

我下面https://gorails.com/deploy/ubuntu/16.04帽部署+ rbenv:捆綁:找不到命令

我運行:「捆綁EXEC帽生產部署」 並得到以下錯誤:

✔ 10 [email protected] 0.289s 
00:21 bundler:install 
     01 $HOME/.rbenv/bin/rbenv exec bundle install --path /home/deploy/deploy_test1/shared/bundle --without development test --deployment --q… 
     01 rbenv: bundle: command not found 
     01 
     01 The `bundle' command exists in these Ruby versions: 
     01 2.4.0 
     01 
(Backtrace restricted to imported tasks) 
cap aborted! 
SSHKit::Runner::ExecuteError: Exception while executing as [email protected]: bundle exit status: 127 
bundle stdout: Nothing written 
bundle stderr: rbenv: bundle: command not found 

The `bundle' command exists in these Ruby versions: 
    2.4.0 

SSHKit::Command::Failed: bundle exit status: 127 
bundle stdout: Nothing written 
bundle stderr: rbenv: bundle: command not found 

The `bundle' command exists in these Ruby versions: 
    2.4.0 

Tasks: TOP => deploy:updated => bundler:install 
(See full trace by running task with --trace) 
The deploy has failed with an error: Exception while executing as [email protected]: bundle exit status: 127 
bundle stdout: Nothing written 
bundle stderr: rbenv: bundle: command not found 

The `bundle' command exists in these Ruby versions: 
    2.4.0 


** DEPLOY FAILED 
** Refer to log/capistrano.log for details. Here are the last 20 lines: 


DEBUG [3de26178] Command: (export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.3.1" ; /usr/bin/env ln -s /home/deploy/deploy_test1/shared/public/assets /home/deploy/deploy_test1/releases/20170509194018/public/assets) 

    INFO [3de26178] Finished in 0.289 seconds with exit status 0 (successful). 

DEBUG [25920183] Running if test ! -d /home/deploy/deploy_test1/releases/20170509194018; then echo "Directory does not exist '/home/deploy/deploy_test1/releases/20170509194018'" 1>&2; false; fi as [email protected] 

DEBUG [25920183] Command: if test ! -d /home/deploy/deploy_test1/releases/20170509194018; then echo "Directory does not exist '/home/deploy/deploy_test1/releases/20170509194018'" 1>&2; false; fi 

DEBUG [25920183] Finished in 0.291 seconds with exit status 0 (successful). 

DEBUG [7b4c3ff7] Running $HOME/.rbenv/bin/rbenv exec bundle check --path /home/deploy/deploy_test1/shared/bundle as [email protected] 

DEBUG [7b4c3ff7] Command: cd /home/deploy/deploy_test1/releases/20170509194018 && (export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.3.1" ; $HOME/.rbenv/bin/rbenv exec bundle check --path /home/deploy/deploy_test1/shared/bundle) 

DEBUG [7b4c3ff7] rbenv: bundle: command not found 

DEBUG [7b4c3ff7] 

The `bundle' command exists in these Ruby versions: 

DEBUG [7b4c3ff7]  2.4.0 

DEBUG [7b4c3ff7] 

DEBUG [7b4c3ff7] Finished in 0.399 seconds with exit status 127 (failed). 

    INFO [3bbf2dfd] Running $HOME/.rbenv/bin/rbenv exec bundle install --path /home/deploy/deploy_test1/shared/bundle --without development test --deployment --quiet as [email protected] 

DEBUG [3bbf2dfd] Command: cd /home/deploy/deploy_test1/releases/20170509194018 && (export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.3.1" ; $HOME/.rbenv/bin/rbenv exec bundle install --path /home/deploy/deploy_test1/shared/bundle --without development test --deployment --quiet) 

DEBUG [3bbf2dfd] rbenv: bundle: command not found 

DEBUG [3bbf2dfd] 

The `bundle' command exists in these Ruby versions: 

DEBUG [3bbf2dfd]  2.4.0 

DEBUG [3bbf2dfd] 

「寶石名單」顯示:兩臺機器上的bundler(1.14.6),以及我的生產機器和服務器上的ruby 2.4.0。 如何繼續?

我張貼我的Capfile:

# Load DSL and set up stages 
require "capistrano/setup" 

# Include default deployment tasks 
require "capistrano/deploy" 

# Load the SCM plugin appropriate to your project: 
# 
# require "capistrano/scm/hg" 
# install_plugin Capistrano::SCM::Hg 
# or 
# require "capistrano/scm/svn" 
# install_plugin Capistrano::SCM::Svn 
# or 
require "capistrano/scm/git" 
install_plugin Capistrano::SCM::Git 

# If you are using rbenv add these lines: 
require 'capistrano/rbenv' 
set :rbenv_type, :user 
set :rbenv_ruby, '2.3.1' 

require 'capistrano/bundler' 
require 'capistrano/rails' 
require 'capistrano/passenger' 

# Load custom tasks from `lib/capistrano/tasks` if you have any defined 
Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r } 

我deploy.rb:

# config valid only for current version of Capistrano 
lock "3.8.1" 

set :application, "deploy_test1" 
set :repo_url, "[email protected]:confidentialname/deploy_test1.git" 

set :deploy_to, '/home/deploy/deploy_test1' 

#append :linked_files, "config/database.yml", "config/secrets.yml" 
append :linked_dirs, "log", "tmp/pids", "tmp/cache", "tmp/sockets", "vendor/bundle", "public/system", "public/uploads" 
+0

您是否在要部署到的計算機上安裝了捆綁軟件? – Puhlze

+0

是的,運行「bundler -v」會在兩臺機器上顯示Bundler版本1.14.6。 –

+1

你可以發佈你的capfile和deploy.rb嗎?適當匿名。 –

回答

2

看起來rbenv設置爲運行Ruby 2.3.1。在日誌中的幾個地方你有RBENV_VERSION="2.3.1"。根據the rbenv documentation,您可以瞭解如何使用rbenv version設置。如果你想測試Ruby 2.4.0,你需要指向那個版本。另外,如果你真的想在2.3.1上運行,你需要安裝捆綁器。

+0

我不確定如何指向該新版本。在兩臺機器上:ruby -v顯示:ruby 2.4.0p0(2016-12-24修訂版57164)[x86_64-linux]和rbenv -v顯示:rbenv 1.1.0-2-g4f8925a。到本地去〜/ rbenv/versions /只顯示2.4.0。我在哪裏設置了RBENV_VERSION =「2.3.1」?謝謝 –

+1

在你的Capfile中,你有這樣一行:rbenv_ruby,'2.3.1'。將其改爲您想要的版本。 –

+0

@will_in_wi解決了這個問題,但之後出現了一個新的錯誤。 https://stackoverflow.com/questions/44008509/rake-exit-status-139。你知道一個更簡單的方法來連接數據庫到Rails應用程序比本教程?謝謝 –