2024 Clojure 状态调查! 分享您的想法。

欢迎!请参阅 关于 页面了解有关此工作的更多信息。

0
ClojureScript
{code:|title=同时使用 `:npm-deps` 和 `:foreign-libs` 启动 REPL}
clj -Sdeps "{:deps {org.clojure/clojurescript {:mvn/version \"1.10.339\"}}}" -m cljs.main -co "{:npm-deps {left-pad \"1.3.0\"} :install-deps true :foreign-libs [{:file \"https://apis.google.com/js/platform.js :provides [\"google.api\"] :global-exports {google.api gapi}}]}" -r

{code:|title=在 `:npm-deps` 依赖之后引入 `:foreign-libs` 库失败}
cljs.user=> (require '[left-pad])
cljs.user=> (require '[google.api])
java.io.FileNotFoundException: /home/garrett/https:/apis.google.com/js/platform.js (没有找到该文件或目录)
         at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileInputStream.<init>(FileInputStream.java:93)
        at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
        at cljs.util$last_modified.invokeStatic(util.cljc:224)
        at cljs.util$last_modified.invoke(util.cljc:216)
        at cljs.util$changed_QMARK_.invokeStatic(util.cljc:232)
        at cljs.util$changed_QMARK_.invoke(util.cljc:231)
        at cljs.closure$handle_js_modules$fn__5877.invoke(closure.clj:2670)
        at clojure.core$some.invokeStatic(core.clj:2693)
        at clojure.core$some.invoke(core.clj:2684)
        at cljs.closure$handle_js_modules.invokeStatic(closure.clj:2667)
        at cljs.closure$handle_js_modules.invoke(closure.clj:2633)
        at cljs.repl$evaluate_form.invokeStatic(repl.cljc:508)
        at cljs.repl$evaluate_form.invoke(repl.cljc:484)
        at cljs.repl$eval_cljs.invokeStatic(repl.cljc:672)
        at cljs.repl$eval_cljs.invoke(repl.cljc:665)
        at cljs.repl$repl_STAR_$read_eval_print__6536.invoke(repl.cljc:957)
        at cljs.repl$repl_STAR_$fn__6542$fn__6551.invoke(repl.cljc:998)
        at cljs.repl$repl_STAR_$fn__6542.invoke(repl.cljc:997)
        at cljs.compiler$with_core_cljs.invokeStatic(compiler.cljc:1285)
        at cljs.compiler$with_core_cljs.invoke(compiler.cljc:1274)
        at cljs.repl$repl_STAR_.invokeStatic(repl.cljc:960)
        at cljs.repl$repl_STAR_.invoke(repl.cljc:839)
        at cljs.cli$repl_opt.invokeStatic(cli.clj:290)
        at cljs.cli$repl_opt.invoke(cli.clj:277)
        at cljs.cli$main.invokeStatic(cli.clj:612)
        at cljs.cli$main.doInvoke(cli.clj:601)
        at clojure.lang.RestFn.applyTo(RestFn.java:139)
        at clojure.core$apply.invokeStatic(core.clj:659)
        at clojure.core$apply.invoke(core.clj:652)
        at cljs.main$_main.invokeStatic(main.clj:61)
        在 cljs.main$_main.doInvoke(main.clj:52) 处调用
        在 clojure.lang.RestFn.applyTo(RestFn.java:137) 调用
        在 clojure.lang.Var.applyTo(Var.java:702) 调用
        在 clojure.core$apply.invokeStatic(core.clj:657) 调用
        在 clojure.main$main_opt.invokeStatic(main.clj:317) 调用
        在 clojure.main$main_opt.invoke(main.clj:313) 调用
        在 clojure.main$main.invokeStatic(main.clj:424) 调用
        在 clojure.main$main.doInvoke(main.clj:387) 调用
        在 clojure.lang.RestFn.applyTo(RestFn.java:137) 调用
        在 clojure.lang.Var.applyTo(Var.java:702) 调用
        在 clojure.main.main(main.java:37) 调用

{code:|title=在构建 `:npm-deps` 依赖之前请求 `:foreign-libs` 库}
cljs.user=> (require '[google.api])
cljs.user=> (require '[left-pad])

2 答案

0
by

评论人员:dnolen

看起来这个问题可能不是顺序问题,而是处理使用了URL的`:file`条目的问题。

0
by
参考:https://clojure.atlassian.net/browse/CLJS-2809 (由alex+import报告)
...