Terminal in Emacs in Windows - Error message: “Spawning child process; invalid argument”

你说的曾经没有我的故事 提交于 2019-12-03 07:27:51

问题


I'm trying to start a cmd terminal in Emacs 23.2 (latest version) in Windows.

According to the Manual, I can enter in terminal mode (starting a new buffer for the terminal) in Emacs by typing M-x term.

When I do this, I get prompted for:

Run program: path_to-emacs/bin/cmdproxy.exe

When I type RET, I get the following error message in the minibuffer:

Spaning child process: invalid argument

Any ideas how to make it work?

Thanks,


回答1:


The following should do:

  • M-:(make-comint-in-buffer "cmd" nil "cmd" nil)

  • M-xeshell

  • M-xshell

All have both their pros and cons. So choose what suits you best.




回答2:


I got the same error while trying to run M-x compile. I added the following to my .emacs file and it fixed the problem:

;; Make sure that the bash executable can be found
(setq explicit-shell-file-name "C:/cygwin/bin/bash.exe")
(setq shell-file-name explicit-shell-file-name)
(add-to-list 'exec-path "C:/cygwin/bin")

Obviously this solution will only work if you have Cygwin installed, but if you are running Emacs on Windows it is usually worth at least a minimal install of Cygwin because many Emacs commands can leverage the command-line tools made available by cygwin (M-x compile in my case).




回答3:


Had the same problem.

I ran procmon and discovered that Emacs wants to find c:\bin\sh in some form (sh.exe, sh.bat, sh.cmd, etc).
Since I happened to want to use term mode with the android debugging shell, I created c:\bin\sh.bat with contents "adb shell", and it worked fine, albeit with some weird input lag.




回答4:


If you want to use term or ansi-term with cmd.exe or Cygwin bash on Windows with Win32 Emacs you can, take a look at this project:

fakecygpty

Works very nicely for me on Win 10.




回答5:


Try M-x cmd-shellinstead. I suggest using EmacsW32 for the best results.



来源:https://stackoverflow.com/questions/4535432/terminal-in-emacs-in-windows-error-message-spawning-child-process-invalid-a

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!