24.2作品很好,但24.3界流浪汉得到以下错误,当打开远程Linux系统的文件或目录:
"byte-code: Couldn't find a proper `ls' command"
我打开流浪汉跟踪和发现,所有远程搜索路径和文件路径是被什么东西延伸,增加了额外的“C:”开头。 结果是,流浪汉能找到既命令,也没有文件我想开。
16:04:51.768000 tramp-get-connection-property (7) # process-buffer nil
16:04:51.769000 tramp-set-file-property (8) # c:/bin file-directory-p nil
16:04:51.770000 tramp-get-file-property (8) # c:/usr/bin file-directory-p undef
...
16:04:59.531000 tramp-sh-handle-file-truename (5) # Check /c:
16:04:59.532000 tramp-get-file-property (8) # c:/c: file-attributes-integer undef
...
16:04:51.773000 tramp-get-connection-property (7) # process-name nil
16:04:51.773000 tramp-get-connection-property (7) # chunksize 0
16:04:51.773000 tramp-set-connection-property (7) # last-cmd-time (20809 28067 773000 0)
16:04:51.774000 tramp-send-string (10) # test -d c\:/usr/bin 2>/dev/null; echo tramp_exit_status $?
任何人都对此有所了解? 提前致谢。
我切换到Emacs的24.3后有同样的问题。 解决的办法是升级到最新的2.2.7流浪汉。 下面是我做的:
- 下载http://ftp.gnu.org/gnu/tramp/tramp-2.2.7.tar.gz
- 解压存档了我的〜/ .emacs.d / src目录。 我使用emacs起动-KIT此目录及其所有子目录负载路径补充道。 否则,按照流氓的INSTALL文件中的指令。
- 使用Cygwin的bash的配置和编译的文件。 我不使用Cygwin的Emacs的正常,但可以很方便地把它像这样的场合。
- 删除了我的emacs /口齿不清/网络安全的老流浪汉的E1和ELC文件。
- 重新开始,当然Emacs的。
做的Mx流浪汉版本,以确保它被正确安装。 现在,流浪汉到处作品(dired,ESHELL,外壳等)。
合并由@AlanThird答案和@uscjeremy的评论,这里是我的(GNU Emacs的24.3.1的2013年3月17日对张建东(I386-MinGW的-nt5.1.2600)时,Windows XP / SP3 / 32)什么工作:
字节编译tramp-sh.el
(适应相应的路径):
(byte-compile-file "C:/Program Files (X86)/emacs/lisp/net/tramp-sh.el")
退出Emacs。
删除流浪汉缓存: ~/.emacs.d/tramp
启动Emacs。
另请参见错误报告#14030在gnu.org。
看来这是流浪汉一个错误,但你并不需要升级流浪汉,所有你需要做的是重新编译在Windows中流浪汉sh.el。 见bug报告在这里获取更多信息。
在临时缓冲区输入以下内容:
(byte-compile-file "C:/Program Files/emacs/lisp/net/tramp-sh.el")
调整以匹配您的安装路径,然后按Ctrl-META-X重新编译的文件。 如果它抱怨权限,你可能需要重新启动在Windows中使用“以管理员身份运行”选项emacs的。
一旦该文件是为了重置流浪汉连接缓存编译型的Mx 流浪汉清理,所有的连接 。 这将关闭已打开的任何混杂的连接。
使用eval-expression
与(byte-compile-file ..)
我没有工作,但下面做:
- 打开emacs的管理员(右键单击任务栏上的按钮的emacs,右键点击图标的emacs中的弹出,单击“以管理员身份运行”)
- 首先用Alt-X做编辑,而不是EVAL-表达:
Mx byte-compile-file
:C:/ Program Files文件/ emacs的-24.3 /口齿不清/网/流浪汉sh.el - 进入
tramp-cleanup-all-connections
在原Emacs窗口,然后尝试再次打开你的远程文件。
文章来源: Emacs 24.3 for windows, Tramp byte-code: Couldn't find a proper `ls' command