配置环境变量是每个开发人员绕不开的初级本领。搜了一下大多数博客都是列出自己系统配置的步骤,授人以鱼不如授人以渔,今天记录一下自己配置验证的方法过程,方便初学者配置。
本文围绕——我在macOS配置http-server的探究验证过程
1、下载
npm install -g http-server
下载完成之后,终端会输出下载安装的地址,这个地址是我们获得的第一步信息
/usr/local/lib/node_modules/http-server
2、配置
这时候,我们已经下载好了http-server运行所需的执行代码,但是我们在终端下面运行脚本发现出现了如下报错:
zsh: command not found: http-server
类比代码有作用域的概念,当我们打开一个终端,对应也有默认会访问的范围,当前目录下的可访问文件+全局文件。(插一句,Linux系统有一句经典语录“一切皆文件”,很妙)。
所以接下来我们要找出http-server的可执行文件,然后把它配置成全局,以保证终端可访问。
2.0、 找到对应可执行文件所在的目录
在终端输入pwd,查询你终端所在的目录
pwd
接下来我们进入【1、下载】之后获得的安装目录
cd /usr/local/lib/node_modules/http-server
我们可以先在终端输入ls查询一下——在这个目录下面有哪些文件
ls
这是我的查询结果,这里补充一个常识——通常在bin文件夹下放置可执行文件(输入http-server会执行的代码)
我们继续进入bin文件夹
cd bin
这是我的尝试过程,在bin目录下面我看到了http-server文件,我输入./http-server验证了它就是我想要找的可执行文件。
2.1、配置终端环境变量
找到了可执行文件所在的路径:
/usr/local/lib/node_modules/http-server/bin/http-server
现在我需要修改终端的环境配置, 以便终端能找到上面的执行路径。这一步需要根据各自终端,找到对应的配置文件。
刚才我的报错是:
zsh: command not found: http-server
所以我的终端采用的shell就是zsh,zsh对应的配置文件是~/.zshrc
(~代表的是用户目录,如果你刚才npm install -g登陆了root用户,那么就索引不到该文件)
open ~/.zshrc
打开了我的配置文件,这时候没有认真学过shell语法的笔者陷入沉思……
PATH变量显然就是我们要配置的环境变量,但是我到底应该怎么写?
先不急,我们在终端输入printenv打印出环境变量的值,来对比观察一下 PATH变量的值和.zshrc文件
april@aprildeMacBook-Air bin % printenv PATH
/Users/april/.yarn/bin:/Users/april/.config/yarn/global/node_modules/.bin:/opt/homebrew/sbin:/opt/homebrew/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
显然对比之后,笔者就知道怎么编辑配置文件啦:
保存关闭之后,我再次printenv PATH打印核对,发现没变化。配置之后需要有一步更新操作哟~大家记得验证一下。
zshrc采用source ~/.zshrc 使最新的配置文件生效
source ~/.zshrc
此后我再次printenv PATH打印发现,配置成功啦~
在任何目录下运行http-server也成功啦~嘻嘻