전 세계적으로 패키지 설치


10

이것이 할 수있는 일입니까? 예를 들어, 종종 내 사용자 계정과 때때로 루트 계정에서 emacs를 사용합니다. 패키지 관리자 (예 : 마멀레이드 또는 기타)를 사용할 때 각 계정마다 동일한 패키지를 별도로 설치해야합니까? 그들은 당신의 홈 디렉토리에 설치되는 것 같습니다.

답변:


7

Nsukami가 지적한 것처럼 package.el은 시스템 전체 패키지를 지원합니다. 그러나 후속 질문에서 지적한 것처럼 시스템 전체 방식으로 패키지 를 설치하는 데 특별한 도움이되지 않습니다 .

당신이 할 수있는 한 가지 방법은 다음과 같은 것을 사용하는 것입니다.

(setq package-user-dir "/usr/share/emacs/site-lisp/elpa")

루트 계정에서 ~/.emacs. 이렇게하면 루트 사용자의 설치된 패키지가 모든 사용자가 사용할 수있게됩니다 ( /usr/share/emacs/site-lisp/elpa일반적으로 기본값 인으로 표시 되므로 package-directory-list).


그렇습니다. 큰 도움을 주셔서 감사합니다.
user2237076

3

설명서에 따르면 :

package-directory-list의 값은
( "/usr/local/share/emacs/24.4/site-lisp/elpa" "/ usr / local / share / emacs / site-lisp / elpa" "/ usr / share / emacs / 24.4 / site-lisp / elpa ""/ usr / share / emacs / site-lisp / elpa ")

이 변수는 파일 로컬 변수로 사용될 경우 위험 할 수 있습니다.

문서 : Emacs Lisp 패키지가 포함 된 추가 디렉토리 목록. 각 디렉토리 이름은 절대적이어야합니다.

이 디렉토리에는 시스템 전체를위한 패키지가 포함되어 있습니다. 대조적으로`package-user-dir '은 개인용 패키지를 포함합니다.

이 변수를 사용자 정의 할 수 있습니다.

이 변수는 Emacs 24.1 버전에서 도입되었거나 기본값이 변경되었습니다.

다른 문서 :

Emacs는 package-user-dir 외에도 package-directory-list에 나열된 디렉토리에서 설치된 패키지를 찾습니다. 이 디렉토리는 시스템 관리자가 시스템 전체에서 Emacs 패키지를 사용할 수 있도록하기위한 것입니다. 이맥스 자체는 패키지를 설치하지 않습니다.

따라서 사이트 전체 설치의 경우 시스템 관리자로서 / usr / local / share / emacs / site-lisp / elpa 내부에 패키지를 수동으로 설치하는 것이 좋습니다. 또는 @Stefan이 제안한대로 할 수도 있습니다.


답장을 보내 주셔서 감사합니다. package-directory-list 값의 검사에서 확인할 수 있습니다. 실제로 package-user-dir은 패키지가 현재 설치되어있는 .emacs.d / elpa 폴더입니다. 따라서 전 세계 위치를 가리 키도록 package-user-dir을 재정의하거나 'Mx package-install'과 같은 사이트를 사용할 때 사이트 전체 설치를 원한다고 어떻게 알 수 있습니까?
user2237076
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.