当我尝试使用grunt-rsync
时,我遇到了一个“ code 12
”错误,我的理解是我的计算机上安装的多个 ssh(Git 和 cwRsync)之间存在冲突:
where ssh
C:\Program Files\cmder\vendor\msysgit\bin\ssh.exe
C:\Program Files\cwRsync\ssh.exe
C:\Program Files (x86)\Git\bin\ssh.exe
我该如何解决这种冲突?
非常感谢。
您的 msysgit ssh 版本优先于 cwrsync 版本,这会导致问题。
您要么需要更改 PATH 环境变量,要么创建一个批处理文件来覆盖它。
@echo off
SETLOCAL
SET CWRSYNCHOME=C:\Program Files\cwRsync
SET HOME=c:\Users\*YourUserName*\
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\bin;%PATH%
"C:\Program Files\cwRsync\bin\rsync.exe" %*
(注意:上面还设置了 home 目录。你应该把它指向你的 .ssh(keys)目录)
.bashrc
我设法通过简单地在我的文件中添加一行来解决这个问题:
export PATH=/c/Program\ Files/cwRsync/:$PATH
这会将 cwRsync 目录添加到 PATH 环境变量的开头,这意味着ssh
当您这样做时,它的副本将移动到列表的顶部,where ssh
因此成为默认值。
对我来说,这解决了我grunt-rsync
从 msysgit 运行 Grunt 任务的问题(我提到它以防其他人遇到同样的问题)。