【发布时间】:2021-05-03 14:59:09
【问题描述】:
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
是的,在应用程序的根目录中运行命令。
参见下面的代码 sn-ps。
~/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已经生成。 -
我之前在机器上运行过该命令,但不适用于这个项目。例如,我刚刚设置了一个新的 rails 应用程序 - 通过 gemfile 安装 Capistrano - 并再次运行该命令并获得相同的输出。
-
附注“--trace”输出现在添加到问题中。
-
/Capfile:4提示您可能在错误的目录中运行此命令。 -
感谢engineersmnky - 请参阅有问题的“更新#2”(无法弄清楚如何编码格式化响应)。
标签: ruby-on-rails ruby capistrano3