deployer 部署程序时无法上传文件

windows环境下,Deployer无法上传文件
配置文件:

……
// 定义一个上传 .env 文件的任务
desc('Upload .env file');
task('env:upload', function() {
    run('cd {{release_path}} && build');
    // 将本地的 .env 文件上传到代码目录的 .env
    upload(__DIR__.'\.env', '{{release_path}}/.env');
});

// 定义一个后置钩子,在 deploy:shared 之后执行 env:upload 任务
after('deploy:shared', 'env:upload');
……

报错如下:


  [Symfony\Component\Process\Exception\ProcessFailedException]
  The command "rsync -azP -e 'ssh -A -i E:\WorkSpace\deployerkey' "E:\WorkSpace\Php\NextPair\.env" "deployer@XXXX:/var/www/next_pair/releases/1/.env"" failed.

  Exit Code: 1(General error)

  Working directory: E:\WorkSpace\Php\NextPair

  Output:
  ================

  Error Output:
  ================
  The source and destination cannot both be remote.
  rsync error: syntax or usage error (code 1) at main.c(1068) [receiver=2.6.9]

目前卡在

rsync -azP -e 'ssh -A -i E:\WorkSpace\deployerkey' "localhost:E:\WorkSpace\Php\NextPair\.env" "deployer@XXXX:/var/www/next_pair/releases/1/.env"

会报上述错误

附言 1  ·  4年前

已搞定,windows由于rsync与ssh版本不兼容导致,需要使用安装rsync时自带的ssh命令行工具。以及注意路径需使用/cygdriver/E表示E:\盘符

franktrue
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
leo
最佳答案

请使用 Homestead

4年前 评论
franktrue (楼主) 4年前
讨论数量: 2
leo

请使用 Homestead

4年前 评论
franktrue (楼主) 4年前

我Windows环境推荐用WSL(Ubuntu),问题少了很多,占用资源又小,非常方便。博客:(WSL) Ubuntu 快速搭建 PHP 开发环境

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!