当前位置:  开发笔记 > 后端 > 正文

rails 4找不到rbenv包

如何解决《rails4找不到rbenv包》经验,为你挑选了1个好方法。

我正在尝试将带有Ruby 2.2.3和Capistrano 3的Rails 4.2.4应用程序部署到VPS服务器.我之前已经多次使用RVM完成了这项工作并且对我的其他应用程序没有任何问题,但是现在我在新机器和服务器上使用rbenv,我得到一个堆栈跟踪,如下所示:

DEBUG [a326a4c8] Command: cd /home/deploy/myapp/releases/20151226231303 && /usr/bin/env bundle install --path /home/deploy/myapp/shared/bundle --without development test --deployment --quiet
DEBUG [a326a4c8]    /usr/bin/env: 
DEBUG [a326a4c8]    bundle: No such file or directory
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as deploy@youspoof.us: bundle exit status: 127
bundle stdout: Nothing written
bundle stderr: /usr/bin/env: bundle: No such file or directory

SSHKit::Command::Failed: bundle exit status: 127
bundle stdout: Nothing written
bundle stderr: /usr/bin/env: bundle: No such file or directory

Tasks: TOP => deploy:updated => bundler:install
(See full trace by running task with --trace)
The deploy has failed with an error: #

我在我的服务器上安装了rbenv和ruby 2.2.3 global作为我的部署用户.也做了一个gem install bundler和它安装.从我运行的服务器bundle -v,Bundler version 1.11.2所以我知道安装了bundler.我知道,当我发出红宝石使用rbenv垫片红宝石作为which ruby我得到/home/deploy/.rbenv/shims/ruby.

我不确定这里发生了什么,因为我已经使用了rbenv已经有一段时间了.这是我的capfile和deploy.rb,如果有帮助的话.

Capfile

require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/bundler'
require 'capistrano/rails'
set :rbenv_type, :user
set :rbenv_ruby, '2.2.3p173'
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r }

deploy.rb

# config valid only for Capistrano 3.1
lock '3.1.0'
set :application, 'myapp'
set :repo_url, 'git@github.com:shakycode/myapp.git'

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

set :linked_files, %w{config/database.yml config/secrets.yml}
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}

namespace :deploy do

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

  after :publishing, 'deploy:restart'
  after :finishing, 'deploy:cleanup'
end

我可能会遗漏一些东西,但每次我尝试运行时cap production deploy都会得到关于/ usr/bin/env bundle的调试错误没有这样的文件或目录.

任何帮助是极大的赞赏.与此同时,我将继续谷歌搜索.



1> nulltek..:

能够独自完成这个

capfile
require 'capistrano/rbenv'
deploy.rb
set :rbenv_path, '/home/deploy/.rbenv/'

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有