【问题标题】:Powershell doesn't recognize openssl even after I added it to the system path即使我将它添加到系统路径后,Powershell 也无法识别 openssl
【发布时间】:2017-08-04 12:21:24
【问题描述】:

我使用的是 64 位 Windows 10。我安装了 Win64 OpenSSL v1.1.0f 并将安装目录 C:\OpenSSL-Win64\bin 添加到我的系统 PATH。 在 cmd 或 Powershell 中运行它后,我得到:

openssl : 术语“openssl”未被识别为一个名称 cmdlet、函数、脚本文件或可运行的程序。检查拼写 的名称,或者如果包含路径,请验证该路径是 正确并重试。

我还缺少什么?

【问题讨论】:

  • 在 cmd 窗口中,如果您将 CD 放入 c:\OpsnSSL-Win64\bin,您会在该目录中看到 openssl.exe 或 openssl.bat 或 openssl.cmd 吗?如果这样做,它是否从该目录运行?如果它运行,您的 PATH 可能会以某种方式出现格式错误。
  • @mao 好的,从 bin 文件夹中,我可以运行它,但只能使用 ./openssl 而不是 openssl。在其他目录中我无法以任何方式运行它。
  • 这表明您的 PATH 格式错误。仔细检查,检查分隔符(通常是;),如果目录有空格,它们需要被引用。
  • 我放的目录是C:\OpenSSL-Win64\bin\。把它放在像 "C:\OpenSSL-Win64\bin\" 这样的引号中不会改变任何东西。我也试过删除最后一个斜线,还是一样的。我想我必须手动编写路径和 exe 而不是“openssl”
  • 在 cmd 窗口中,尝试SET PATH="c:\OpsnSSL-Win64\bin";%PATH% 故意使其成为 PATH 上的第一个目录。然后运行openssl。如果可行,请打开一个新的 CMD 窗口,然后比较 PATH 值。

标签: powershell cmd openssl


【解决方案1】:

如果您在 Powershell 中运行它,请检查 $env:path 以确保其中存在“C:\OpenSSL-Win64\bin”。以前的 cmets 都引用了 cmd.exe 中的 PATH 变量,您的错误消息表明您没有使用该变量。

如果不是,请在 Powershell 中运行以下命令

$env:path = $env:path + ";C:\OpenSSL-Win64\bin"

【讨论】:

    【解决方案2】:

    您可能需要关闭会话并打开一个新的 powershell,每当您更改 env 变量时,它在当前会话中不起作用。

    【讨论】:

      猜你喜欢
      • 2014-08-21
      • 2016-05-24
      • 2020-03-13
      • 1970-01-01
      • 1970-01-01
      • 2020-02-18
      • 2019-12-17
      • 2022-11-10
      • 2014-08-02
      相关资源
      最近更新 更多