Capistrano符号问题?

时间:2009-03-17 11:06:56

标签: capistrano symlink

我有这个capistrano命令。

  task :symlink_shared do
        run "rm -rf  #{current_path}/config/database.yml"
        run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
        run "rm -rf  #{current_path}/config/app_config.yml"
        run "ln -nfs #{shared_path}/config/app_config.yml #{release_path}/config/app_config.yml"

        run "rm -rf  #{current_path}/public/records"
        run "ln -nsf #{shared_path}/uploads/records #{release_path}/public/records"
        run "rm -rf  #{current_path}/public/documents"
        run "ln -nsf #{shared_path}/uploads/documents #{release_path}/public/documents"
        run "rm -rf  #{current_path}/public/pdf_xmls"
        run "ln -nsf #{shared_path}/uploads/pdf_xmls #{release_path}/public/pdf_xmls"
        run "rm -rf  #{current_path}/public/pdf_xml_files"
        run "ln -nsf #{shared_path}/uploads/pdf_xml_files #{release_path}/public/pdf_xml_files"
    end

一切正常,符号链接也会创建。 但是最后一个命令符号链接会在里面创建一个符号链接pdf_xml_files。 即它创建一个名为pdf_xml_files的目录,并在其中创建pdf_xml_files符号链接。 需要一些帮助??

1 个答案:

答案 0 :(得分:2)

看起来/ home / deploy / weddingcards / releases / 20090325105337 / public / pdf_xml_files目录已经存在。

ln命令正在查找该目录,并强制它在目录中为目标创建符号链接。

如果删除/ home / deploy / weddingcards / releases / 20090325105337 / public / pdf_xml_files,则运行相同的命令,它应该按照您的意愿执行。

或者,您可以将命令更改为:

run "ln -nsf #{shared_path}/uploads/pdf_xml_files #{release_path}/public/"

它将在公共目录中创建符号链接。