lein deploy에서 가방에 서명할 수 없습니다. 존재하지 않는 키를 인용했습니다.
3994 단어 leiningen
묘사
clojars에 배치하려고 시도할 때 리닌은 제 가방에 서명하지 못했습니다.You need a passphrase to unlock the secret key for
user: "Christian Johansen <[email protected]>"
2048-bit RSA key, ID FCFF5050, created 2014-03-17
Could not sign /Users/christian/projects/hiccup-find/target/hiccup-find-0.1.0.jar
gpg: error checking usability status of 07D6ED28
gpg: key 07D6ED28: secret key without public key - skipped
FCFF5050은 올바른 키이며 ~/.lein/profiles.clj
에서 설정한 키입니다.나는 07D6ED28이 무엇인지 모르겠다. gpg --list-keys
또는 ~/.lein
어느 곳에서도 인용되지 않았고, 내가 배치하려고 했던 프로젝트에서 생성된 모든 파일을 삭제했다.내 clojars의 GPG 키.조직 파일(cjohansen)은 gpg --export -a FCFF5050
에 의해 생성된다.레닌겐은 열쇠를 어디에다 숨길까?나는 이전에 다른 (비기능성) gpg 설정을 가지고 있었다.내가 뭘 잘못했나?
토론 #1
명령줄에 gpg 서명을 사용할 수 있습니까?해봐
gpg -ab somefile
.달리기
gpg --list-keys
도 깨우침을 줄 수 있다.토론 #2
와gpg -ab file
서명하면 벌금을 부과할 수 있다.--list-keys
내 유일한 열쇠를 열거했다.나는 심지어 ~/까지 삭제했다.gnupg에서 이 문제를 발표하기 전에 이전 키를 정확하게 지웠는지 확인하십시오.Leiningen이나gnupg에 중간 파일을 저장할 수 있는 다른 곳이 있습니까?OSX에 있습니다.토론 #셋
이걸 당신의 project.clj
파일에 넣고 모든 물건에 추적을 추가할 수 있습니까?(alter-var-root #'clojure.java.shell/shell
(fn [sh & args]
(prn :shell args)
(apply sh args)))
만약 우리가 왜라고 불리는지 정확하게 확정할 수 있다면, 그것은 반드시 근본적인 원인을 가리켜야 한다.토론 #4
나는 지금 매우 불편하지만, 나는 알았다.Unable to resolve var: clojure.java.shell/shell in this context
복구할 수 없을 것 같습니다:/토론 #5
clojure를 얻기 위해(require 'clojure.java.shell)
를 추가할 수 있을 것 같습니다.자바.케이스 올바르게 로드(?)토론 #6
나도 알아맞혔지만 소용없어:토론 #7
내 잘못;이렇게 해야 합니다.(alter-var-root (resolve 'clojure.java.shell/sh)
(fn [sh]
(fn [& args]
(prn :shell args)
(apply sh args))))
토론 #8
:shell ("gpg" "--yes" "-ab" "--" "/Users/christian/projects/hiccup-find/target/hiccup-find-0.2.0.jar")
You need a passphrase to unlock the secret key for
user: "Christian Johansen <[email protected]>"
2048-bit RSA key, ID FCFF5050, created 2014-03-17
Could not sign /Users/christian/projects/hiccup-find/target/hiccup-find-0.2.0.jar
gpg: error checking usability status of 07D6ED28
gpg: key 07D6ED28: secret key without public key - skipped
흥미로운 점:gpg --yes -ab -- /Users/christian/projects/hiccup-find/target/hiccup-find-0.2.0.jar
gpg: error checking usability status of 07D6ED28
gpg: key 07D6ED28: secret key without public key - skipped
You need a passphrase to unlock the secret key for
user: "Christian Johansen <[email protected]>"
2048-bit RSA key, ID FCFF5050, created 2014-03-17
그래서 이것은 gpg에서 온 것이다.그러나 이것은 경고일 뿐이다.프로세스는 파일에 서명하지만 상태 2로 종료됩니다.탈퇴 상태 2는 --yes
는 피해야 하는 것으로 알고 있다.나는 그것이 어떻게 오류를 되돌릴 수 있을 뿐만 아니라, 파일에 서명할 수 있는지 확실하지 않다.이 행동으로 인해 현재 설정이
lein deploy
gpg의 종료 상태로 인해 실패한 것 같습니다. 파일이 서명되었음에도 불구하고 (lein 프로세스를 통해)겸사겸사 한마디 하자면, 당신의 도움과 인내심에 감사 드립니다.
토론 #9
알겠습니다.그럼 이것은gpg
중의 버그인 것 같은데?사용할 수 있는 해결 방법은 소형 셸 스크립트 패키지 gpg
를 작성하는 것입니다. 근본적인 원인을 복구할 수 없다고 가정하면 어떤 상황이 발생하든지 간에 성공적인 오류 코드로 종료됩니다.나는 이 일을 끝내야 한다. 왜냐하면 이것은 레닌건의 문제가 아닌 것 같기 때문이다.토론 #10
디렉터리를 다시 삭제하고 새 키를 만들려고 합니다. 보세요!그것은 지금 작용했다.나는 내가 이전에.gnupg
바이너리 파일로만 키를 삭제했을 뿐이라고 의심했다. 나는 왠지 개인 키를 남겼지만 gpg
표시하지 않았다.어쨌든, 그것은 지금 작용했다. 나는 매우 유용한 것을 배웠다
--list-keys
. 그래서 나는 이전보다 많이 좋아졌다. 매우 기쁘다:) 당신의 도움에 매우 감사합니다!
Reference
이 문제에 관하여(lein deploy에서 가방에 서명할 수 없습니다. 존재하지 않는 키를 인용했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/technomancy/leiningen/issues/1473텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)