1

当我deploy最近使用 Capistrano 运行时,我在过程中收到此错误:

  * executing "find /var/www/<myapp>/releases/20121220195214/public/images\\ /var/www/<myapp>/releases/20121220195214/public/stylesheets\\ /var/www/<myapp>/releases/20121220195214/public/javascripts -exec touch -t -- 201212201952.40 {} ';'; true"
    servers: ["50.56.126.187"]
    [50.56.126.187] executing command
*** [err :: 50.56.126.187] find:
*** [err :: 50.56.126.187] `/var/www/<myapp>/releases/20121220195214/public/images /var/www/<myapp>/releases/20121220195214/public/stylesheets /var/www/<myapp>/releases/20121220195214/public/javascripts'
*** [err :: 50.56.126.187] : No such file or directory
*** [err :: 50.56.126.187]
    command finished in 452ms

为什么它试图找到以双反斜杠结尾的路径?

4

1 回答 1

0

看起来它正在尝试将多个路径作为单个参数传递给查找。分隔路径列表的空格用反斜杠转义,并作为一个参数传递给 find。我怀疑每条路径都应该作为要查找的单独参数传入。我对 Capistrano 不熟悉,所以我无法准确指出是什么驱动了这个过程,以及为什么它试图将三个路径作为单个参数而不是三个单独的参数发送。

您看到的双反斜杠是 Ruby 的 String#inspect 方法如何工作的产物,如本论坛帖子中所述。

于 2012-12-20T20:19:45.633 回答