LoadError: 无法加载此类文件 -- config/deploy

问题描述

Ubuntu 20.04、Ruby 3.0.1、rails 6.1.3.1、Capistrano 版本:3.16.0(Rake 版本:13.0.3)

运行任何“cap”命令会导致以下结果,例如:-

>> bundle exec cap install --trace
(in /)
cap aborted!
LoadError: cannot load such file -- config/deploy
Did you mean?  rbconfig/sizeof
/Capfile:4:in `load'
/Capfile:4:in `<top (required)>'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/rake_module.rb:29:in `load'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/rake_module.rb:29:in `load_rakefile'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/application.rb:703:in `raw_load_rakefile'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/application.rb:104:in `block in load_rakefile'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/application.rb:186:in `standard_exception_handling'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/application.rb:103:in `load_rakefile'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/application.rb:82:in `block in run'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/application.rb:186:in `standard_exception_handling'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/application.rb:80:in `run'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/capistrano-3.16.0/lib/capistrano/application.rb:14:in `run'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/capistrano-3.16.0/bin/cap:3:in `<top (required)>'
/home/mike/.rbenv/versions/3.0.1/bin/cap:23:in `load'
/home/mike/.rbenv/versions/3.0.1/bin/cap:23:in `<top (required)>'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/cli/exec.rb:63:in `load'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/cli/exec.rb:63:in `kernel_load'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/cli/exec.rb:28:in `run'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/cli.rb:494:in `exec'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/cli.rb:30:in `dispatch'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/cli.rb:24:in `start'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/exe/bundle:49:in `block in <top (required)>'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/lib/bundler/friendly_errors.rb:130:in `with_friendly_errors'
/home/mike/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/bundler-2.2.16/exe/bundle:37:in `<top (required)>'
/home/mike/.rbenv/versions/3.0.1/bin/bundle:23:in `load'
/home/mike/.rbenv/versions/3.0.1/bin/bundle:23:in `<main>'

我尝试创建新的 rails 应用程序,但发生了同样的错误。

尝试了许多不同的方法(降级 ruby​​、rails 等),结果相同。我认为这可能是一个权限问题,感谢您收到任何帮助。

更新 #2

是的,在应用程序的根目录中运行命令。

请参阅下面的代码片段。

~/WebProjects/test_site$ ls -1
app
bin
config
config.ru
db
Gemfile
Gemfile.lock
lib
log
package.json
public
Rakefile
README.md
storage
test
tmp
vendor

~/WebProjects/test_site$ bundle exec cap install

(produces the error output in the question above)

感觉就像一些非常简单的事情,但我就是无法理解(经过数小时的挠头!)。

更新 #3

~/WebProjects/test_site$ cat /Capfile
load 'deploy' if respond_to?(:namespace) # cap2 differentiator
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }

load 'config/deploy' # remove this line to skip loading any of the default tasks

解决方法

一个 Capfile 位于导致问题的 Ubuntu 根目录 (/) 中。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...