5

之上

$ svn co http://plugins.svn.wordpress.org/jetpack-easy-playlists/ jep/

或者

$ svn --version

我得到-bash:/usr/bin/svn: Bad address

$  ls -l /usr/bin/svn

给我-rwxr-xr-x 1 JFishwick Domain Users 189966 Mar 8 15:52 /usr/bin/svn

我试过删除 /usr/bin/cygwin1.dll 并重新安装 base,但没有运气。

编辑:此外,

$ type svn
svn is /usr/bin/svn

$ which svn
/usr/bin/svn

$ ldd $(which svn)
        ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000)
        kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000)
        cygsvn_client-1-0.dll => /usr/bin/cygsvn_client-1-0.dll (0x6f2c0000)
        cygsvn_ra-1-0.dll => /usr/bin/cygsvn_ra-1-0.dll (0x620c0000)
        cygsvn_ra_local-1-0.dll => /usr/bin/cygsvn_ra_local-1-0.dll (0x6b9c0000)
        cygsvn_repos-1-0.dll => /usr/bin/cygsvn_repos-1-0.dll (0x6b6c0000)
        cygsvn_fs-1-0.dll => /usr/bin/cygsvn_fs-1-0.dll (0x6e800000)
        cygsvn_fs_base-1-0.dll => /usr/bin/cygsvn_fs_base-1-0.dll (0x6c780000)
        cygsvn_delta-1-0.dll => /usr/bin/cygsvn_delta-1-0.dll (0x61bc0000)
        cygsvn_subr-1-0.dll => /usr/bin/cygsvn_subr-1-0.dll (0x6d680000)
        cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
        cygz.dll => /usr/bin/cygz.dll (0x692c0000)
        cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x6bf40000)
        cygapr-1-0.dll => /usr/bin/cygapr-1-0.dll (0x69f70000)
        cyguuid-1.dll => /usr/bin/cyguuid-1.dll (0x542e0000)
        cygaprutil-1-0.dll => /usr/bin/cygaprutil-1-0.dll (0x69f50000)
couldn't open C:\cygwin\bin\svn
cannot load file

我的 $PATH:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/PROGRA~1/IBM/CLIENT~1:/cygdrive/c/PROGRA~1/IBM/CLIENT~1/Shared:/cygdrive/c/PROGRA~1/IBM/CLIENT~1/Emulator:/cygdrive/c/Program Files/Common Files/Lenovo:/cygdrive/c/Program Files/TortoiseSVN/bin:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/c/Program Files/WinSCP:/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/QuickTime Alternative/QTSystem:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/Program Files/Google/Google Apps Sync:/cygdrive/c/Program Files/Google/Google Apps Migration:/cygdrive/c/Program Files/CVSNT: C:/Program Files/Java/jdk1.6.0_26/bin:/usr/lib/lapack

对比

$ $PATH
-bash: /usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/PROGRA~1/IBM/CLIENT~1:/cygdrive/c/PROGRA~1/IBM/CLIENT~1/Shared:/cygdrive/c/PROGRA~1/IBM/CLIENT~1/Emulator:/cygdrive/c/Program: No such file or directory

进一步的讨论和事实调查在这里。

4

2 回答 2

1

可能缺少 dll。尝试从 dos 提示符 vis 运行 svn.exe:

c:> c:\cygwin\bin\svn.exe

我收到一个弹出窗口,表明缺少 cygproxy-1.dll。重新安装任何带有“代理”一词的东西,问题就消失了。

于 2012-04-25T20:25:53.923 回答
1

注意路径的不同:

$ type svn
svn is /usr/bin/svn

$ ldd $(which svn)
    ...
couldn't open C:\cygwin\bin\svn
cannot load file

当您使用 ldd 时,有某种硬编码路径指向C:\cygwin\binaka /bin/...您的可执行文件实际上驻留在/usr/bin/

只是为了咯咯笑,我会尝试将 svn 复制或移动到 /bin 中,看看这是否能解决问题。如果您复制而不是移动,请确保在 $PATH 中将 /bin 移动到 /usr/bin 之前,以便这实际上是被调用的内容。

我问的原因$PATH是cygwin用来在双引号之间进行转换并被双引号阻碍的机制C:....../cygdrive/c我习惯在windows侧的路径周围加上引号,这导致cygwin中的路径出现问题。当我看到一个未翻译的路径名时,它敲响了心灵的钟声……唉,这不是问题所在。

于 2012-04-25T12:30:02.087 回答