【问题标题】:Capistrano 3 symlink public folderCapistrano 3 符号链接公用文件夹
【发布时间】:2016-01-23 10:15:01
【问题描述】:

Capistrano 3.X 有问题
所以基本上我的应用程序有公共文件夹,一些用户可以上传他们的文件夹。可以是public/a public/b 等等。当我像这样设置链接目录时

set :linked_dirs, %w{ log tmp/pids tmp/cache tmp/sockets vendor/bundle public }

我收到错误:

I, [2016-01-23T05:09:48.343707 #27926]  INFO -- : Writing /home/deploy/blabla/
releases/20160123100938/public/assets/bootstrap/glyphicons-halflings-regular-
fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c.woff2 rake 
aborted! Errno::EEXIST: File exists @ dir_s_mkdir -
/home/deploy/blabla/releases/20160123100938/public/assets 
/home/deploy/blabla/shared/bundle/ruby/2.2.0/gems/sprockets-
3.5.2/lib/sprockets/asset.rb:163:in `write_to' 
/home/deploy/blabla/shared/bundle/ruby/2.2.0/gems/sprockets-3.5.2/
lib/sprockets/manifest.rb:192:in `block (2 levels) in compile' 
/home/deploy/blabla/shared/bundle/ruby/2.2.0/gems/concurrent-ruby-
1.0.0/lib/concurrent/executor/safe_task_executor.rb:24:in `call'

我试图删除资产文件夹,手动创建它。我不知道下一步该做什么。

【问题讨论】:

    标签: ruby-on-rails ruby capistrano3


    【解决方案1】:

    您可以将用户上传的文件夹放在另一个文件夹中,例如uploaded_folders,然后

    set :linked_dirs, %w{ log tmp/pids tmp/cache tmp/sockets vendor/bundle public/uploaded_folders public/system }
    

    这应该可以解决它

    【讨论】:

    • 嘿,我知道,但这是不可接受的 - 由于一些后端解决方案,我必须需要 public/* 文件夹。
    猜你喜欢
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 2014-04-04
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 2013-08-29
    相关资源
    最近更新 更多