패키지에 필요한 패키지 버전을 결정하는 방법은 무엇입니까?


9

나는 지금 두 개의 패키지를 가지고 있으며 PackageRequires 섹션에서 필요한 모든 패키지를 넣고 싶습니다. 이름과 버전이 필요한 것처럼 보입니다. 버전 번호는 어디에서 결정합니까? 예를 들어 (cl-lib "0.5")를 사용할 수 있지만 사용할 수있는 최소 버전을 결정하는 가장 좋은 방법은 무엇입니까? 현재 버전을 볼 수 있지만 필요한 최소값을 결정하는 가장 좋은 방법은 무엇입니까? 또한 필요한 일부 패키지에는 파일에 지정된 버전이 없습니다. 이 경우 권장되는 것은 무엇입니까?

답변:


7

패키지를 작성한 버전을 사용하십시오. 사용하는 모든 기능을 명시 적으로 확인하지 않으면 이것이 가장 안전한 기준입니다. 이제부터는 해당 패키지의 관리자가 이전 버전과의 호환성을 자동으로 중단하지 않기를 바랄뿐입니다.

버전 번호가없는 패키지는 전혀 사용하지 않습니다. 관리자가 올바른 버전 관리를 방해하지 않으면 다른 방법으로 어떻게 신뢰할 수 있습니까?


1

내 추천 :

  • 코드에서 실제로 사용하는 함수, 변수, 매크로 등으로 시작하십시오. 주어진 Emacs 버전이나 함수의 소스 라이브러리에서 소개 된 것을 사용한다면, 최소 버전으로 시작하십시오.

  • 사용하는 기능 버전이 처음 도입되었을 때 원래 버전의 기능과 일치하지 않을 수 있습니다. 아마도 더 많은 주장이 추가되었습니다. 그것이 당신의 특별한 사용에 중요한지 확인하십시오. 그렇지 않으면 이것을 무시할 수 있습니다. 그렇다면 코드에서 기대하는 것을 지원하는 가장 오래된 소스 버전을 찾으십시오.

  • 테스트. 최소한으로 지원한다고 주장하는 라이브러리 버전의 사본을 입수 해보십시오.

  • 때때로 함수가 약간 변경되었으므로 코드에는 기본적으로 최신 버전이 필요하지 않습니다. 그러나 두 개 이상의 버전을 지원하도록 조정해야 할 수도 있습니다 (원하는 경우). 함수가 존재하는지 ( fboundp) 또는 서명 / 호출 순서가 올바른지 테스트해야 할 수 있습니다 . 후자의 경우 subr-arity내장 기능에 도움이 될 수 있지만 condition-caseLisp 함수 (확장 된 수의 인수로 호출하고 더 적은 수의 인수로 호출하여 잘못된 수의 오류를 처리) 에 사용해야 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.