'lein source deps' 를 실행할 때' 접근이 거부됨 '오류가 발생했습니다.

4858 단어 leiningen

묘사

나는 this sub-project 경선을 위해 lein source-deps을 시도하고 있다.Windows 명령 프롬프트, Cygwin64 터미널, Git Bash에서 버전 2.2.0, 2.5.1, 2.5.2를 실행합니다.모든 시도는 기본적으로 다음과 같은 결과를 출력한다.
복제하려면 위에 링크된 리포를 복제한 다음 루트 리포 디렉토리에서 실행해야 합니다.
$ cd lein-light-nrepl
$ lein source-deps
내가 본 출력:
retrieve dependencies and munge clojure source files
    prefixing imports in clojure files...
java.io.FileNotFoundException: C:\@GitHub\LightTable\deploy\plugins\Clojure\lein-light-nrepl\target\srcdeps (Access is denied)
 at java.io.FileInputStream.open0 (:-2)
    java.io.FileInputStream.open (:-1)
    java.io.FileInputStream.<init> (:-1)
    clojure.java.io/fn (io.clj:229)
    clojure.java.io$fn__8615$G__8606__8622.invoke (io.clj:69)
    clojure.java.io/fn (io.clj:165)
    clojure.java.io$fn__8628$G__8610__8635.invoke (io.clj:69)
    clojure.java.io$reader.doInvoke (io.clj:102)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.AFn.applyToHelper (AFn.java:154)
    clojure.lang.RestFn.applyTo (RestFn.java:132)
    clojure.core$apply.invoke (core.clj:626)
    clojure.core$slurp.doInvoke (core.clj:6390)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    leiningen.source_deps$retrieve_import.invoke (source_deps.clj:122)
    leiningen.source_deps$prefix_dependency_imports_BANG_$fn__1534.invoke (source_deps.clj:180)
    clojure.core.protocols/fn (protocols.clj:143)
    clojure.core.protocols$fn__6057$G__6052__6066.invoke (protocols.clj:19)
    clojure.core.protocols$seq_reduce.invoke (protocols.clj:31)
    clojure.core.protocols/fn (protocols.clj:54)
    clojure.core.protocols$fn__6031$G__6026__6044.invoke (protocols.clj:13)
    clojure.core$reduce.invoke (core.clj:6289)
    leiningen.source_deps$prefix_dependency_imports_BANG_.invoke (source_deps.clj:180)
    leiningen.source_deps$unzip_AMPERSAND_update_artifact_BANG_.invoke (source_deps.clj:212)
    clojure.lang.AFn.applyToHelper (AFn.java:205)
    clojure.lang.AFn.applyTo (AFn.java:144)
    clojure.core$apply.invoke (core.clj:630)
    clojure.core$partial$fn__4234.doInvoke (core.clj:2474)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$map$fn__4245.invoke (core.clj:2559)
    clojure.lang.LazySeq.sval (LazySeq.java:40)
    clojure.lang.LazySeq.seq (LazySeq.java:49)
    clojure.lang.RT.seq (RT.java:484)
    clojure.core$seq.invoke (core.clj:133)
    clojure.core$dorun.invoke (core.clj:2855)
    clojure.core$doall.invoke (core.clj:2871)
    leiningen.source_deps$source_deps.doInvoke (source_deps.clj:267)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.Var.invoke (Var.java:379)
    clojure.lang.AFn.applyToHelper (AFn.java:154)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.core$apply.invoke (core.clj:626)
    leiningen.core.main$partial_task$fn__6094.doInvoke (main.clj:263)
    clojure.lang.RestFn.invoke (RestFn.java:410)
    clojure.lang.AFn.applyToHelper (AFn.java:154)
    clojure.lang.RestFn.applyTo (RestFn.java:132)
    clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invoke (core.clj:626)
    leiningen.core.main$apply_task.invoke (main.clj:313)
    leiningen.core.main$resolve_and_apply.invoke (main.clj:319)
    leiningen.core.main$_main$fn__6160.invoke (main.clj:392)
    leiningen.core.main$_main.doInvoke (main.clj:385)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.lang.Var.invoke (Var.java:379)
    clojure.lang.AFn.applyToHelper (AFn.java:154)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.core$apply.invoke (core.clj:624)
    clojure.main$main_opt.invoke (main.clj:315)
    clojure.main$main.doInvoke (main.clj:420)
    clojure.lang.RestFn.invoke (RestFn.java:436)
    clojure.lang.Var.invoke (Var.java:388)
    clojure.lang.AFn.applyToHelper (AFn.java:160)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.main.main (main.java:37)

토론 #1

mranderson이 내부에서 일하는 방식에 익숙하지 않지만 debian기계에서 이 방법을 시도해 봤습니다. 어떤lein버전>=2.4.3의 상황에서도 정상적으로 일할 수 있습니다.
오류 메시지에서 (접근이 거부되었습니다) 나오는 것을 감안하면 디렉터리 권한의 문제라고 생각합니다.또는 Windows의 파일 이름 인코딩에 문제가 있습니다.mranderson이 원하는 파일을 작성할 수 있도록 메시지에서 인용된 디렉터리가 정확한 ACL을 가지고 있는지 확인할 수 있습니다.
(플러그인이 아닌 Lein 자체의 버그라고 믿을 이유가 있을까요?)

토론 #2

@hyPiRion 나는 네가 옳다고 생각한다. 이것은 권한 문제이지만, 나도 다른 기계와 다른 환경에서 그것을 복제하고 새로운 리포 클론을 사용하려고 시도했기 때문에 리닌 자체의 오류라고 믿을 이유가 없다.만약 내가 어떤 증거를 발견한다면 나는 다시 열 것이다.

토론 #셋

이것은 레닌겐의 문제가 아니다.Mac OS X 디바이스에서 2.5.1 버전을 사용하여 깨끗한 클론lein source-deps에서 실행할 수 있습니다(위에서 설명한 대로).나도 원래의 Windows 상자에서 같은 일을 할 수 있을 것 같다.

토론 #4

네, 연락 주셔서 감사합니다=)

좋은 웹페이지 즐겨찾기