加入收藏 | 设为首页 | 会员中心 | 我要投稿 商洛站长网 (https://www.0914zz.com/)- AI应用、CDN、边缘计算、云计算、物联网!
当前位置: 首页 > 运营中心 > Nginx > 正文

ruby-on-rails – 生成服务器上找不到rbenv:bundle:命令

发布时间:2020-09-01 12:38:09 所属栏目:Nginx 来源:互联网
导读:我正在尝试部署rails应用程序,但它坚持错误DEBUG[1a70ba92] Command: cd /home/deploy/myapp/releases/20140615090226 ( PATH=$HOME/.rbenv /shims:$HOME/.rbenv/bin:$PATH RBENV_ROOT=~/.rbenv RBE

我正在尝试部署rails应用程序,但它坚持错误

DEBUG[1a70ba92] Command: cd /home/deploy/myapp/releases/20140615090226 && ( PATH=$HOME/.rbenv   /shims:$HOME/.rbenv/bin:$PATH RBENV_ROOT=~/.rbenv RBENV_VERSION=2.1.2 ~/.rbenv/bin/rbenv exec bundle install --binstubs /home/deploy/myapp/shared/bin --path /home/deploy/myapp/shared/bundle --without development test --deployment --quiet )
DEBUG[1a70ba92]     rbenv: bundle: command not found
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host xxx.xxx.xxx.xx: bundle exit status: 127
bundle stdout: Nothing written
bundle stderr: rbenv: bundle: command not found

deploy.rb

# config valid only for Capistrano 3.1
lock '3.1.0'

set :application,'myapp'
set :repo_url,'git@bitbucket.org:username/myapp.git'

# Default branch is :master
# ask :branch,proc { `git rev-parse --abbrev-ref HEAD`.chomp }

# Default deploy_to directory is /var/www/my_app
 set :deploy_to,'/home/deploy/myapp'

# Default value for :scm is :git
# set :scm,:git
set :branch,"master"

# Default value for :format is :pretty
# set :format,:pretty

# Default value for :log_level is :debug
# set :log_level,:debug

# Default value for :pty is false
# set :pty,true

# Default value for :linked_files is []
 set :linked_files,%w{config/database.yml}

# Default value for linked_dirs is []
 set :linked_dirs,%w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}

# Default value for default_env is {}
# set :default_env,{ path: "/opt/ruby/bin:$PATH" }
set :default_env,{ path: "$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH" }
# Default value for keep_releases is 5
# set :keep_releases,5

namespace :deploy do

  desc 'Restart application'
  task :restart do
    on roles(:app),in: :sequence,wait: 5 do
      # Your restart mechanism here,for example:
       execute :touch,release_path.join('tmp/restart.txt')
    end
  end

  after :publishing,:restart

  end

    desc "Symlink shared config files"
    task :symlink_config_files do
        run "#{ try_sudo } ln -s #{ deploy_to }/shared/config/database.yml #{ current_path }/config/database.yml"
    end

end

capfile

# Load DSL and Setup Up Stages
require 'capistrano/setup'

# Includes default deployment tasks
require 'capistrano/deploy'
require 'capistrano/bundler'
require 'capistrano/rails'
require 'capistrano/rbenv'
set :rbenv_ruby,"2.1.2"

Production.rb

set :stage,:production
role :app,%w{deploy@xxx.xxx.xxx.xx}
role :web,%w{deploy@xxx.xxx.xxx.xx}
role :db,%w{deploy@xxx.xxx.xxx.xx}
set :password,ask('Server password',nil)
server 'xxx.xxx.xxx.xx',user: 'deploy',password: fetch(:password),roles: %w{web app}

/etc/nginx/nginx.conf

passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /home/deploy/.rbenv/shims/ruby;

在/ etc / nginx的/启用的站点 – /默认

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        server_name mydomain.com;
        passenger_enabled on;
        rails_env    production;
        root         /home/deploy/myapp/current/public;

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}


which ruby
/home/deploy/.rbenv/shims/ruby

ruby -v
ruby 2.1.2p95

它使用正确的ruby版本.但我想尝试在另一个文件夹中安装宝石.我该如何修复它? 您是否尝试首先在服务器上安装gem“bundler”?运行bundle命令需要此gem. SSH到您的服务器并运行以下命令:

gem install bundler

希望有所帮助

(编辑:商洛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读