13

在我的rails(3.2.16v)部署與capistrano v3期間,我收到以下錯誤。沒有這樣的文件或目錄(公共/資產/清單*)

$帽開發部署--trace

DEBUG [014a40e4] Running /usr/bin/env [ -L /home/ec2-user/capistrano-3/my_app/releases/20140117124107/public/assets ] on 50.13.220.55 
DEBUG [014a40e4] Command: [ -L /home/ec2-user/capistrano-3/my_app/releases/20140117124107/public/assets ] 
DEBUG [014a40e4] Finished in 0.602 seconds with exit status 1 (failed). 
DEBUG [9c5901ab] Running /usr/bin/env [ -d /home/ec2-user/capistrano-3/my_app/releases/20140117124107/public/assets ] on 50.13.220.55 
DEBUG [9c5901ab] Command: [ -d /home/ec2-user/capistrano-3/my_app/releases/20140117124107/public/assets ] 
DEBUG [9c5901ab] Finished in 0.639 seconds with exit status 1 (failed). 

////這個錯誤是在跟蹤

**調用部署的末尾:資產:backup_manifest(FIRST_TIME)

** Execute deploy:assets:backup_manifest

DEBUG [a08f4c02] cp: 
DEBUG [a08f4c02] cannot stat `/home/ec2-user/capistrano-3/my_app/releases/20140117064709/public/assets/manifest*' 
DEBUG [a08f4c02] : No such file or directory 
DEBUG [a08f4c02]  
cap aborted! 
cp stdout: Nothing written 
cp stderr: Nothing written 

Tasks: TOP => deploy:assets:backup_manifest 
The deploy has failed with an error: #<SSHKit::Command::Failed: cp stdout: Nothing written 
cp stderr: Nothing written 
> 
** Invoke deploy:failed (first_time) 
** Execute deploy:failed 

我的本地機器中沒有任何資產文件夾。有誰能夠幫助我??

+0

東西已經在這裏問。希望它有幫助 http://stackoverflow.com/questions/17720253/rails-assets-missing-after-capistrano-deploy –

+0

@MarkoJurinčič - 我認爲這是爲capistrano v2。我正在使用v3 – user3205523

+0

找到另一個鏈接。它也適用於版本2.但也許它可以幫助你:http://robmclarty.com/blog/how-to-deploy-a-rails-4-app-with-git-and-capistrano –

回答

0

您是否預編譯了您的資產?也許這將有助於在部署之前預先編譯您的資產。

12

嘗試:

touch /home/ec2-user/capistrano-3/my_app/releases/20140117064709/public/assets/manifest 

我覺得以前的cap <env> deploy這是錯誤配置已經弄壞了工作,現在你永遠註定。只需要一個清單文件,將允許任務deploy:assets:backup_manifest繼續做它的事情,因爲它期望以前的構建清單文件在那裏清理。所以,給它一些清潔。無論如何,這解決了我的問題。

tl;dr;製造垃圾,繼續亂丟垃圾,某個人,某個地方會在你清理完之後,在這種情況下,以前的一個預編譯的垃圾是assets_manifest_backup的寶藏。

我也ssh'ed到服務器,確保RAILS_ENV=production bundle工作就好了,不得不解決一些ssh進行私人混帳回購部署鍵。這可能是口香糖,玷污了我的作品。

+1

有同樣的錯誤,它已經足夠'$ mkdir public/assets && touch public/assets/manifest' =>'$ cap deploy' => hurray。感謝彼得 –

5

加入Gemfile中gem 'sprockets', '2.12.3'

+0

這是爲什麼downvoted?這個解決方案適用於我。請參閱https://github.com/capistrano/rails/issues/111。這個問題是由鏈接3使用.sprocket-manifest [blablabla]而不是。清單[blablabla] –

+0

它也適用於我。 – allesklar

+0

也爲我工作。 – Philip

相關問題