未找到Rails清单文件(使用Capistrano部署)

Bor*_*oya 3 capistrano rvm-capistrano ruby-on-rails-5

我正在尝试使用Capistrano部署rails应用程序,但它失败了,因为没有清单文件.

这是我跑步时得到的cap production deploy:

01 mkdir -p /home/deploy/list/releases/20171220202012/assets_manif…
? 01 influencerlist.io 0.048s
  WARN  Rails assets manifest file not found.
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing on host influencerlist.io: Rails assets manifest file not found.


Caused by:
Capistrano::FileNotFound: Rails assets manifest file not found.

Tasks: TOP => deploy:assets:backup_manifest
(See full trace by running task with --trace)
The deploy has failed with an error: Exception while executing on host influencerlist.io: Rails assets manifest file not found.
Run Code Online (Sandbox Code Playgroud)

不知道如何解决这个问题?我试图找到一个解决方案但它们似乎都没有用.

谢谢!

Bor*_*oya 8

我解决了,我对解决方案感到惊讶......

我在/ shared/public/assets中创建了两个空文件,名为.manifest.json和.sprockets-manifest.json,它有效.

  • 就我而言,我通过在 `shared/public/assets` 中创建一个空文件 `manifest.json`(不带点)来解决我的问题。 (2认同)

Pau*_*eon 6

如果您在 Rails 应用程序中使用 webpacker,并且完全禁用了 Sprockets,则在尝试部署时可能会出现以下错误:未找到 Rails 资产清单文件。这发生在deploy:assets:backup_manifest任务内部。

此任务是为 Sprockets 构建的,不适用于 webpacker。只需将以下行添加到您的config/deploy.rb:

Rake::Task["deploy:assets:backup_manifest"].clear_actions
Run Code Online (Sandbox Code Playgroud)

https://makandracards.com/makandra/100898-fix-for-rails-assets-manifest-file-not-found-in-capistrano-deploy

  • 最好还添加 `Rake::Task["deploy:assets:restore_manifest"].clear_actions` 以防止 `deploy:rollback` 崩溃。检查[此](/sf/answers/3545515221/)答案以获取更多信息。 (2认同)