【问题标题】:Rule conflict between multiple SSH多个SSH之间的规则冲突
【发布时间】:2015-10-14 20:06:53
【问题描述】:

当我尝试使用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

我该如何解决这个冲突?

非常感谢。

【问题讨论】:

    标签: ssh cwrsync


    【解决方案1】:

    您的 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)目录)

    【讨论】:

      【解决方案2】:

      我设法通过在我的.bashrc 文件中添加一行来解决这个问题:

      export PATH=/c/Program\ Files/cwRsync/:$PATH
      

      这会将 cwRsync 目录添加到 PATH 环境变量的开头,这意味着当您执行 where ssh 时,它的 ssh 副本将移至列表顶部,因此成为默认目录。

      对我来说,这解决了我从 msysgit 运行 grunt-rsync Grunt 任务时遇到的问题(我会提到它以防其他人遇到同样的问题)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-20
        • 2020-06-09
        • 1970-01-01
        • 1970-01-01
        • 2012-09-01
        • 1970-01-01
        • 2014-02-15
        相关资源
        最近更新 更多