Deployment ';未找到耙锉';来自';盖安装';命令

Deployment ';未找到耙锉';来自';盖安装';命令,deployment,capistrano,capistrano3,rvm-capistrano,Deployment,Capistrano,Capistrano3,Rvm Capistrano,我正在尝试将一个旧项目从cap2转换为cap3。删除旧的cap文件后,运行cap install会显示: $ cap install (Backtrace restricted to imported tasks) cap aborted! No Rakefile found (looking for: capfile, Capfile, capfile.rb, Capfile.rb, /usr/lib/ruby/vendor_ruby/Capfile) /usr/bin/cap:3:in `&

我正在尝试将一个旧项目从cap2转换为cap3。删除旧的cap文件后,运行
cap install
会显示:

$ cap install
(Backtrace restricted to imported tasks)
cap aborted!
No Rakefile found (looking for: capfile, Capfile, capfile.rb, Capfile.rb, /usr/lib/ruby/vendor_ruby/Capfile)
/usr/bin/cap:3:in `<main>'
(See full trace by running task with --trace)
$cap安装
(回溯仅限于导入的任务)
帽子流产了!
未找到Rakefile(查找:capfile、capfile、capfile.rb、capfile.rb、/usr/lib/ruby/vendor\u ruby/capfile)
/usr/bin/cap:3:in`'
(通过使用--trace运行任务查看完整跟踪)
install命令不是要创建
Capfile

如果在新项目(=空文件夹)上运行
cap install
命令,则会出现相同的错误


我使用的是3.4.0版。

我也遇到了同样的问题,我的capistrano以前工作得很好,但是发生了一些事情。我相信我在某个时刻更新了我的ruby,capistrano停止了工作。因此,当我运行
cap install
时,结果是:


因此我发现Capfile将目录从/usr/lib/ruby/vendor\u ruby/Capfile更改为/usr/lib/ruby/vendor\u ruby/capistrano/templates/Capfile。因此,为了工作,我使用了命令
cap--rakefile/usr/lib/ruby/vendor\u ruby/capistrano/templates/Capfile install
,它对我起到了作用。

如果您已经为debian软件包安装了ruby&capistrano,那么Capfile现在可以在目录/usr/lib/ruby/vendor\u ruby/capistrano/templates/Capfile中找到。所以使用这个命令吧cap——rakefile/usr/lib/ruby/vendor\u ruby/capistrano/templates/Capfile安装指示Capfile的正确路径。

我设置了一个测试环境并重新生成了错误:

$ cap install
(Backtrace restricted to imported tasks)
cap aborted!
No Rakefile found (looking for: capfile, Capfile, capfile.rb,  Capfile.rb, /usr/lib/ruby/vendor_ruby/Capfile)
/usr/bin/cap:3:in `<main>'
(See full trace by running task with --trace)

$ cap --trace install
cap aborted!
No Rakefile found (looking for: capfile, Capfile, capfile.rb,  Capfile.rb, /usr/lib/ruby/vendor_ruby/Capfile)
/usr/lib/ruby/vendor_ruby/rake/application.rb:684:in `raw_load_rakefile'
/usr/lib/ruby/vendor_ruby/rake/application.rb:94:in `block in load_rakefile'
/usr/lib/ruby/vendor_ruby/rake/application.rb:176:in `standard_exception_handling'
/usr/lib/ruby/vendor_ruby/rake/application.rb:93:in `load_rakefile'
/usr/lib/ruby/vendor_ruby/rake/application.rb:77:in `block in run'
/usr/lib/ruby/vendor_ruby/rake/application.rb:176:in `standard_exception_handling'
/usr/lib/ruby/vendor_ruby/rake/application.rb:75:in `run'
/usr/lib/ruby/vendor_ruby/capistrano/application.rb:15:in `run'
/usr/bin/cap:3:in `<main>'
有效。

$rbenv rehash


因为我使用的是rbenv,所以上面的命令对我有效

在使用bundle exec之前您是否尝试过它?这不是一个ruby项目(我安装了debian capistrano软件包)。我希望不必为了启动和运行这个程序而安装bundler,一个Gemfile和Ruby的特定版本,但我会尝试一下。我避免发行版提供的Ruby gems的重新打包,因为它们不总是有效的,而且很少更新。我建议直接使用Bundler和Ruby,否则我不知道如何帮助解决这个问题。
$ cap --rakefile /usr/lib/ruby/vendor_ruby/capistrano/templates/Capfile install
mkdir -p config/deploy
create config/deploy.rb
create config/deploy/staging.rb
create config/deploy/production.rb
mkdir -p lib/capistrano/tasks
create Capfile
Capified