我正在从官方 clojure 站点https://clojure.org/guides/deps_and_cli做 clojure cli 教程,但是当我想运行以下命令时遇到了此消息:$ clj -X hello/run
Execution error (FileNotFoundException) at java.io.FileInputStream/open0 (FileInputStream.
-X (El sistema no puede encontrar el archivo especificado)
Full report at:
C:\Users\usuario\AppData\Local\Temp\clojure-16611030546441487090.edn
我想该命令必须在根文件夹中执行,但以防万一我也在 src.
.edn 错误文件如下:
"Execution error (FileNotFoundException) at java.io.FileInputStream/open0 (FileInputStream.java:-2).\r\n-X (El sistema no puede encontrar el archivo especificado)\r\n",
:clojure.main/triage
{:clojure.error/class java.io.FileNotFoundException,
:clojure.error/line -2,
:clojure.error/cause
"-X (El sistema no puede encontrar el archivo especificado)",
:clojure.error/symbol java.io.FileInputStream/open0,
:clojure.error/source "FileInputStream.java",
:clojure.error/phase :execution},
:clojure.main/trace
{:via
[{:type java.io.FileNotFoundException,
:message
"-X (El sistema no puede encontrar el archivo especificado)",
:at [java.io.FileInputStream open0 "FileInputStream.java" -2]}],
:trace
[[java.io.FileInputStream open0 "FileInputStream.java" -2]
[java.io.FileInputStream open "FileInputStream.java" 219]
[java.io.FileInputStream <init> "FileInputStream.java" 157]
[java.io.FileInputStream <init> "FileInputStream.java" 112]
[clojure.lang.Compiler loadFile "Compiler.java" 7571]
[clojure.main$load_script invokeStatic "main.clj" 475]
[clojure.main$script_opt invokeStatic "main.clj" 535]
[clojure.main$script_opt invoke "main.clj" 530]
[clojure.main$main invokeStatic "main.clj" 664]
[clojure.main$main doInvoke "main.clj" 616]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.main main "main.java" 40]],
:cause "-X (El sistema no puede encontrar el archivo especificado)"}}
Clojure 版本:Clojure 1.10.1
不能做这么简单的事情让我很沮丧。
--编辑:我运行了“clojure -Sdescribe”,版本是 1.10.1.492,所以我按照亚历克斯的说法安装了最新版本,它运行正常,但后来我再次运行“描述”,版本没有改变。
我懂了:
PS C:\Users\usuario\downloads> .\win-install-1.10.1.697.ps1
Security warning
Run only scripts that you trust. While scripts from the internet can be useful, this
script can potentially harm your computer. If you trust this script, use the Unblock-File
cmdlet to allow the script to run without this warning message. Do you want to run
C:\Users\usuario\downloads\win-install-1.10.1.697.ps1?
[D] Do not run [R] Run once [S] Suspend [?] Help (default is "D"): R
Downloading Clojure tools
WARNING: Clojure will install as a module in your PowerShell module path.
Possible install locations:
1) C:\Users\usuario\Documents\WindowsPowerShell\Modules
2) C:\Program Files\WindowsPowerShell\Modules
3) C:\Windows\system32\WindowsPowerShell\v1.0\Modules
Enter number of preferred install location: 2
Cleaning up existing install
Installing PowerShell module
Removing download
Clojure now installed. Use "clj -h" for help.
PS C:\Users\usuario\downloads> clojure -Sdescribe
{:version "1.10.1.492"
:config-files ["C:\Users\usuario\Documents\WindowsPowerShell\Modules\ClojureTools\deps.edn" "C:\Users\usuario\.clojure\
deps.edn" "deps.edn"]
:config-user "C:\Users\usuario\.clojure\deps.edn"
:config-project "deps.edn"
:install-dir "C:\Users\usuario\Documents\WindowsPowerShell\Modules\ClojureTools"
:config-dir "C:\Users\usuario\.clojure"
:cache-dir "C:\Users\usuario\.clojure\.cpcache"
:force False
:repro False
:resolve-aliases ""
:classpath-aliases ""
:jvm-aliases ""
:main-aliases ""
:all-aliases ""}