나는 상당히 오래된 emacs가 설치된 루트가 아닌 Linux 상자를 가지고 있으므로 최신 버전을 다운로드하여 다음과 같이 구축했습니다.
- 다음으로 다운로드
$HOME/SRC
$HOME/BLD
구성 및 구축--prefix=$HOME
make
그리고make install
그래서 이것은 bin
내 홈 디렉토리에 폴더를 생성하는데, 이것이 바로 내가 기대하는 것입니다.
이제 터미널에서 emacs를 직접 입력하면 (예상대로) 여전히 이전 항목이 열립니다. 그래서 나는 그것을 해야 한다 ~/bin/emacs
. 나는 그것을 alias emacs=$HOME/bin/emacs
내 .bash_profile
작업에 추가합니다. 그러나 나는 ~/bin
그것에 추가할 수도 있습니다 $PATH
. 하지만 어느 것을 추천해야 할지 잘 모르겠습니다. 두 버전의 emacs가 ~/.emacs
서로 다른 버전을 열 때마다 공유하고 덮어쓰는 등의 충돌 없이 작동할 수 있습니까 ?
내가 수행한 단계가 정확하다면 이전 버전이 이미 존재할 때 루트 액세스 없이 새 애플리케이션을 설치하는 가장 좋은 방법입니다.
답변1
실행을 단순화 하고 PATH
예상대로 작동하며 as 접두사를 사용하여 더 많은 앱을 설치하면 $HOME
모두 예상대로 작동합니다. 내 RC 파일에서 다음과 같은 작업을 수행합니다.
PATH=$HOME/bin:$PATH
LD_RUN_PATH=$HOME/lib:$LD_RUN_PATH
export PATH LD_RUN_PATH
설정을 통해 LD_RUN_PATH
로컬에 설치된 DSO도 작동할 수 있어야 합니다.
지금까지는 다중 사용자 환경에서와 거의 동일한 방식으로 emacs를 설치했습니다.
설명: Unix(및 이를 사용하는 기타 소프트웨어, DOS에서 TeX까지)의 경로는 왼쪽에서 오른쪽으로 검색되는 위치 목록과 같습니다. Unix에서는 :
항목을 구분하기 위해 콜론( )을 사용합니다. PATH
과 같은 프로그램이 있고 /usr/local/bin:/bin:/usr/bin
이라는 프로그램을 찾고 있는 경우 foo
다음 경로가 순서대로 검색됩니다.
/usr/local/bin/foo
/bin/foo
/usr/bin/foo
처음 발견된 것을 사용하세요. 따라서 디렉터리를 정확히 삽입한 위치에 따라 설치된 바이너리가 다른 바이너리를 "덮어쓰도록" 할 수 있습니다. 개념적으로 순서는 전통적 PATH
으로 일반에 특정하거나 로컬에서 글로벌로 이어졌습니다. (물론 우리는 독립형 타사 앱을 지원하기 위해 종종 이상한 경로를 추가하므로 이러한 비유가 깨질 수 있습니다.)