Ruby on rails Capistrano版本冲突

Ruby on rails Capistrano版本冲突,ruby-on-rails,capistrano,Ruby On Rails,Capistrano,我正在尝试使用以下内容上载我的Rails应用程序: bin/cap production deploy 但部署失败,并显示以下错误消息: You have requested: capistrano ~> 3.3.0

我正在尝试使用以下内容上载我的Rails应用程序:

bin/cap production deploy
但部署失败,并显示以下错误消息:

You have requested:                                                                     
  capistrano ~> 3.3.0                                                                   

The bundle currently has capistrano locked at 3.7.1.                                    
Try running `bundle update capistrano`                                                  

If you are updating multiple gems in your Gemfile at once,                              
try passing them all to `bundle update`
我试图通过运行以下命令来解决此问题:

bundle update capistrano
但这并没有解决问题

我不明白的是,我不知道我的应用程序“要求Capistrano3.3.0”在哪里。在我的GEM文件中,我将Capistrano设置为3.7版

除了capistrano宝石,我还使用:

gem capistrano-rails, '~> 1.2'
gem capistrano3-delayed-job, '~> 1.3'
gem capistrano-figaro-yml
我的档案位于:

有人知道我如何解决Capistrano版本的问题吗

谢谢你的帮助


Anthony

尝试
bundle exec cap production deploy
尝试删除
您的应用程序/.bindle
目录,然后再次运行
bundle install
请按照正确的顺序执行所有步骤(不要因为您这样做而跳过任何步骤)

  • cd
    到项目目录中
  • 运行
    bundle exec gem uninstall capistrano-a
    从您的bundle中删除所有capistrano版本
  • 运行
    gem uninstall capistrano-a
    从系统中删除所有capistrano版本。请注意,如果收到错误消息,您可能需要使用root访问权限运行此操作
  • 运行
    bundle安装
  • 运行
    bundle exec gem list capistrano
    ,它将输出所有已安装的gem,其名称包含“capistrano”。您应该只有一个版本的capistrano gem
  • 如果有
    lock 3.x.x
    指令,请签入文件config/deploy.rb和config/deploy/*.rb,并确保它与步骤5中显示的安装版本匹配
  • 使用
    bundle exec cap production deploy在bundle上下文中运行cap(准确地使用此命令行,不要使用bin/cap)

  • 删除gemfile.lock,然后捆绑安装并重试!已尝试,但收到相同的错误消息。问题是错误显示我使用的是Capistrano3.3.0,而Gemfile.lock的版本是3.7.1。但是我在我的文件中找不到这个版本3.3.0。我遗漏了什么吗?可能需要3.7.1作为依赖项,运行
    gem list
    查看已安装的gem列表,然后运行
    gem install capistrano-v 3.7.1
    我删除了.bundle目录,然后运行了bundle安装,但我仍然收到相同的错误消息您的
    Gemfile.lock
    的内容是什么?请检查您的
    confing/deploy.rb
    以查看您是否锁定了capistrano版本。我完成了所有步骤。capistrano 3.3.0的错误消失了。但是现在我得到了这个错误:SSHKit::Runner::ExecuteError:作为deploy@146.185.164.246:bundle exit status:137良好,因此您修复了gem问题。此“bundle exit status:137”错误与此无关。请尝试或打开新票证。是的,重新启动服务器修复了bundle exit status:137错误。非常感谢你的帮助!在其他步骤之前,我想应该先检查config/deploy以获得步骤6中提到的lock指令,这就解决了我的问题。