capistrano部署中没有此类文件或目录

use*_*363 21 capistrano ruby-on-rails

执行上限部署时出现以下错误:

*** [err :: 11.15.19.46] find: `/var/www/emclab/releases/20111208184942/public/images'
*** [err :: 11.15.19.46] : No such file or directory
*** [err :: 11.15.19.46] find: `/var/www/emclab/releases/20111208184942/public/stylesheets': No such file or directory
*** [err :: 11.15.19.46] find: `/var/www/emclab/releases/20111208184942/public/javascripts'
*** [err :: 11.15.19.46] : No such file or directory
Run Code Online (Sandbox Code Playgroud)

有什么想法导致错误吗?谢谢.

Pio*_*ior 35

我假设你更新到rails 3.1

我最近遇到了同样的问题.解:

将此行添加到deploy.rb

set :normalize_asset_timestamps, false
Run Code Online (Sandbox Code Playgroud)

事实上,这个问题是重复的:Capistrano和Github网站的部署

只发布它,因为发现它在谷歌相当高,这一个没有得到答案


小智 11

我也在努力解决这个问题.

假设您使用的是Rails 3.1,答案就在这个网页上:http://guides.rubyonrails.org/asset_pipeline.html

简短的回答是您的资产(imgs,js,css)尚未编译用于部署到生产.您可以使用此命令手动编译它们.

bundle exec rake assets:precompile
Run Code Online (Sandbox Code Playgroud)

或者您可以从Capfile中取消注释此行:

load 'deploy/assets'
Run Code Online (Sandbox Code Playgroud)

或者您可以设置生产环境以编译生产中的资产,但我发现该解决方案只是创建了更多问题,并会推荐上述两个建议.