emacs는 왜 실행 프로그램을 찾을 수 없습니까?

1654 단어
얼마 전에 어떤 친구가 저에게emacs에서 matlab 프로그램을 켜지 못하냐고 물었던 기억이 납니다.분명히 terminal 아래에서는 열 수 있지만,emacs에서는 안 된다.
오늘 나는 마침내 비슷한 문제에 부딪혔다. 나는 오늘 레이크를 설치했다. 6.0.설치된 racket 프로그램의 실행 경로는/usr/local/racket/bin
그리고 이 경로를 PATH에 넣었어요.terminal 환경에서 열 수 있어요.
다음에 Geiser를 설치합니다. 이것은emacs에서racket을 연결하는 플러그인입니다. 설치는 매우 간단합니다. 저는 그것을 컴파일한 파일을 ~/에 두었습니다.emacs.d/site-lisp/geiser 아래
그리고 init.el 다음 줄에 가입하세요.https://github.com/aborn/emacs.d
(load "~/.emacs.d/site-lisp/geiser/elisp/geiser-load")

그리고 M-x run-geiser로 레이크 프로그램을 찾을 수 없음을 발견했습니다.이때emacs에서 bash 환경의PATH를 사용하지 않았을 거라고 생각했는데,
안 그러면 왜 못 찾지?
인터넷에 접속하여 이 두 링크인 링크 1과 링크 2를 찾았는데, 이것에서야 emacs가 실행 경로가 변수exec-path에 의해 결정된 것을 발견하였다.
그런 다음 M-x ielm을 열고 exec-path를 살펴보면 다음과 같습니다.
exec-path
("/usr/local/sbin" "/usr/local/bin" "/usr/sbin" "/usr/bin" "/sbin" "/bin" "/usr/games" "/usr/local/games" "/usr/lib/emacs/24.3/i686-linux-gnu")

/usr/local/racket/bin이 없음
이렇게 되면, 우리가 파일 init를 만들기만 하면.el에 다음 줄을 넣고 경로/usr/local/racket/bin을exec-path에 넣으면 됩니다
(add-to-list 'exec-path "/usr/local/racket/bin")

그리고 exec-path를 보시면 됩니다.
ELISP> exec-path
("/usr/local/racket/bin" "/usr/local/sbin" "/usr/local/bin" "/usr/sbin" "/usr/bin" "/sbin" "/bin" "/usr/games" "/usr/local/games" "/usr/lib/emacs/24.3/i686-linux-gnu")

그리고 M-x run-geiser를 수행하면 OK입니다.
내 OS는 Ubuntu 14.04 LTS

좋은 웹페이지 즐겨찾기