Ste*_*arV 6 windows command-line json processor jq
我已从“ https://stedolan.github.io/jq/ ”下载了程序 jq-win64.exe并将该程序安装在计算机上的文件夹 C:\Program Files\jq\ 中。我还将程序的 PATH 添加到 Windows 10 中系统变量字符串的末尾:。。。;C:\Program Files\curl\;C:\Program Files\jq\
在 Visual Studio Code 的一个终端窗口中,我正在运行一台服务器。在另一个终端窗口中,我尝试执行命令curl -s localhost:3000 | 杰克
终端窗口 1:C:\Users\SteinarV\PROFF_JAVASCRIPT\PROJECT\smartHouse
在端口 3000 上运行的节点 server.js API
终端窗口 2: C:\Users\SteinarV\PROFF_JAVASCRIPT\PROJECT\smartHouse>curl -s localhost:3000 | 杰克
“jq”不被识别为内部或外部命令、可操作程序或批处理文件
...并且不明白为什么 jq 不被识别。有人可以帮忙吗?
Wee*_*ble 10
我已从“ https://stedolan.github.io/jq/ ”下载了程序 jq-win64.exe并将该程序安装在计算机上的文件夹 C:\Program Files\jq\ 中。
正如您所指出的,您有一个名为 的文件jq-win64.exe,但您正在尝试执行命令jq. 您需要将文件重命名为jq.exe或需要使用命令jq-win64.
有关输入命令时 Windows 如何在路径中查找并执行程序的详细说明,请参阅Windows NT 命令外壳:命令搜索序列。具体来说:
...shell 现在按列出的顺序搜索 PATH 环境变量指定的每个目录,以查找与命令名称匹配的可执行文件。如果找到匹配项,则执行外部命令(可执行文件)...
...如果命令名不包含文件扩展名,则 shell 会逐一添加 PATHEXT 环境变量中列出的扩展名,并在目录中搜索该文件名。请注意,shell 在继续搜索下一个目录(如果有)之前会尝试特定目录中所有可能的文件扩展名...
您在评论中指出,即使文件名匹配,相同的错误仍然存在。请注意,每个正在运行的程序都有自己的一组环境变量,并且这些变量不会因全局更改而更新。cmd.exe进行全局更改后,您需要关闭并重新打开窗口。另请参阅将目录添加到 Windows 中的路径环境变量。您可以使用该path命令来验证特定终端会话是否继承了您定义的 PATH 变量,从而缩小了问题范围。
您表明问题仍然存在。您需要使用可用的工具来进一步缩小范围:
尝试使用完整路径运行该程序:
"C:\Program Files\jq\jq-win64.exe" --help
Run Code Online (Sandbox Code Playgroud)
这将确认该程序存在于您认为的位置并且可以从终端运行。
尝试在没有路径及其扩展名的情况下运行该程序:
jq-win64.exe --help
Run Code Online (Sandbox Code Playgroud)
如果这有效,但运行不带扩展名的程序却不起作用,则您可能已将 PATHEXT 设置为不包含“.EXE”的内容。
尝试在终端中显式设置路径以仅包含程序目录而不包含其他内容,然后使用其完整扩展名运行它:
set PATH=C:\Program Files\jq
jq-win64.exe --help
Run Code Online (Sandbox Code Playgroud)
(请注意,在此测试之后,您需要关闭终端窗口并启动一个新终端窗口以重置路径。)
如果这有效,则可能您的路径不匹配。
| 归档时间: |
|
| 查看次数: |
18349 次 |
| 最近记录: |