欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

开发常识] 以 Win11 为例介绍环境变量

最编程 2024-06-25 14:33:27
...

开发人员搭建本机开发环境,经常需要安装各种工具,如gitnpmpython 等。他们常常会被我们主动或者被动的在命令行中调用。

一个比较常见的错误是:

xxx 不是内部或外部命令,也不是可运行的程序或批处理文件。

这与操作系统的环境变量有关,环境变量是初级开发者必须了解的常识。

下面以 win11 为例,让我们了解环境变量这一概念。

核心概念

Windows 11操作系统中,变量分为用户变量和系统变量。

  1. 用户变量:是指只对当前用户有效的环境变量,只影响当前用户的会话。
  2. 系统变量:是指对所有用户有效的环境变量,影响整个系统的运行环境。

用户变量和系统变量都是存储在操作系统中的字符串值,可以包含路径、文件名、配置信息等。无论是用户变量还是系统变量,都可以在命令行或脚本中使用%变量名%的形式来引用它们的值。例如,%USERPROFILE%是一个用户变量,它指向当前用户的个人文件夹路径。

面板查看

  1. 使用搜索功能找到 编辑系统环境变量,点击进入
  2. 点击 环境变量, 即可查看 环境变量 面板

image-20230414104855771.png

  1. 通过编辑按钮可对选中环境变量编辑

命令行

查看

在PowerShell中,可以使用以下命令来查看环境变量的值:

  1. 输入“Get-ChildItem Env:”命令并按Enter键。这将显示所有环境变量及其值。
  2. 若要查看特定环境变量的值,可以使用 $env:变量名 语法。例如,要查看PATH环境变量的值,可以输入“$env:PATH”并按Enter键。

CMD中,可以使用以下命令来查看环境变量的值:

  1. 输入“set”命令并按Enter键。这将显示所有环境变量及其值。

  2. 若要查看特定环境变量的值,可以输入“echo %变量名%”命令并按Enter键。例如,要查看PATH环境变量的值,可以输入“echo %PATH%”并按Enter键。

    如果变量的值包含空格或其他特殊字符,则需要将其放在引号中。例如,要查看包含空格的变量MY VARIABLE的值,可以输入“echo "%MY VARIABLE%"”并按Enter键。

设置

要在PowerShell中设置环境变量,可以使用以下命令:

  1. 使用$env:变量名="变量值"命令来设置环境变量
  2. 设置环境变量后,可以使用“$env:变量名”命令来查看变量的值

要在CMD中设置环境变量,可以使用以下命令:

  1. 输入“set 变量名=变量值”命令并按Enter键
  2. 设置环境变量后,可以使用“echo %变量名%”命令来查看变量的值。

请注意,设置的环境变量只在当前会话窗口中有效。如果要在所有命令行窗口中使用该环境变量,需要将其通过面板添加到系统环境变量中。

Path

Path环境变量是操作系统中非常重要的环境变量之一,它用于指定可执行文件的搜索路径,让操作系统能够在任何目录下找到系统所需的可执行文件。具体来说,当用户在命令行界面上输入一个可执行文件的名称时,操作系统会在Path环境变量指定的路径中搜索该文件,并将其加载到内存中执行。

Path环境变量的意义在于,它能够让用户或应用程序方便地执行任何可执行文件,而不需要知道该文件的具体位置。

所以,当用户安装一些软件时,软件可能会添加或让用户选择添加,自己安装后的可执行文件夹路径,到Path环境变量中,以便用户可以方便地执行该软件的可执行文件。

反之,如果未在安装时添加可执行文件夹路径。则会在直接使用时,得到类似:xxx 不是内部或外部命令,也不是可运行的程序或批处理文件 的警告。此时,就需要用户手动添加可执行文件夹路径到PATH环境变量中。

以 CMake 为例

CMake 是一个跨平台的开源构建工具,用于自动化 C++ 程序的构建、测试和打包过程。

仅作为演示用例,无所谓功能。

安装

1.从 cmake.org 下载安装包

image-20230414120424088.png

  1. 根据指引安装

    image-20230414123414567.png

    注意,这里就是在安装时是否选择将可执行文件写入 PATH 环境变量(系统变量或用户变量)。

    为了演示,我们选择不添加(默认)。

  2. 选择安装目录

    image-20230414124121121.png

  3. 完成安装

设置环境变量

因为在安装时,没有添加环境变量。所以,现在执行 cmake 命令时,找不到可运行程序的。

image-20230414124652304.png

我们需要手动添加环境变量:

  1. 打开环境变量面板

  2. 选中 Path ,点击编辑

  3. 复制可执行文件夹路径

  4. 点击新增

  5. 拷贝路径

    image-20230414135145406.png

  6. 逐一点击确定,至关闭所有相关面板

  7. 打开命令行工具验证

    image-20230414135654976.png

在配置路径时,我们也可以通过 %变量名% 引用已有的环境变量。

例如,我们已经将Java的安装路径添加到系统环境变量 JAVA_HOME , 在 Path 中添加可执行文件夹,只需要使用 %JAVA_HOME%\bin .

了解环境变量这一个概念,我们可知

  • 使用命令行是系统通过 Path 找到并执行对应可执行文件,如果出现调用异常,我们可以自行排查环境变量来修复
  • 如果软件安装时未选择添加可执行文件到 Path ,或者使用某些绿色免安装版的工具,都可以手动到环境变量面板上去添加
  • 我们可以利用“命令行设置的环境变量只在当前会话窗口中有效”,来简化在一个会话中的命令,例如重复使用的文件路径等。
  • 如果我们在 Path 中, 通过 %变量名% 引用已有的环境变量。在会话中修改该变量,就可快速切换该变量指向的可执行文件夹。通过这一点可以实现,在当前会话中,临时切换某一可执行文件的版本。

推荐阅读