事实-
- 计算机已连接到域
- 用户是域用户
- 运行 Cygwin 的 Windows 7 多次设置 SSH/Rsync
- 从 Cygwin 运行 rsync 命令可以正常找到目录“c:\code”,但在 Windows 命令提示符中运行相同命令却出现无效文件或目录错误。
我尝试过的-
- 将 Vagrant 文件“code”中的静态相对路径更改为“cygwin/c/code”-抛出错误“找不到有效路径”
- 更改文件夹的权限(除非我做错了,否则就不会成功)
- 通过谷歌等搜索获得的大量其他内容
它在我的 Windows 8.1 机器和 Ubuntu 上运行良好(当然 Ubuntu 上没有 Cygwin),但我无论如何都无法克服这个困难。
有什么想法吗?请随意发表评论以请求更多信息,因为我不想把这个问题写成一篇文章,但我确实想分享任何需要的东西。
答案1
确保文件夹名称的大小写正确。在 Windows 代码中,Code 和 cODE 都相同。
尝试将您的文件夹重命名为 foo,然后返回代码,确保您只使用小写字符。
答案2
如上所述,Cygwin 无法识别该路径,因为它是 Windows 路径并且没有以 cygdrive 为前缀。
我通过编辑 vagrant helper.rb 文件并在主机路径前面附加“cygdrive/”解决了此问题。这当然是一个肮脏的修复,但它有效。
答案3
我见过类似的问题,即 cygwin 中的 rsync 正在寻找/C路径,但在我的安装中,驱动器位于 /cygdrive 下。一种解决方法是创建符号链接
ln -s /cygdrive/c /c