授人以渔command not found: ***
配置环境变量是每个开发人员绕不开的初级本领。搜了一下大多数博客都是列出自己系统配置的步骤,授人以鱼不如授人以渔,今天记录一下自己配置验证的方法过程,方便初学者配置。
本文围绕——我在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也成功啦~嘻嘻
授人以渔command not found: ***相关推荐
- shell 分割文本_shell教程(2):积木游戏之认识积木--重要的系统命令
前言 所有命令的用法规则 授人以渔 程序运行原理常用命令指南 显示标准输入 显示文件输入 目录/文件外部操作 文本处理套件 文本编辑器 系统 磁盘 网络 前言 第一课shell教程(1):有没有兴趣玩 ...
- shell教程(2):积木游戏之认识积木--重要的系统命令
文章目录 前言 所有命令的用法规则 授人以渔 程序运行原理 常用命令指南 显示标准输入 显示文件输入 目录/文件外部操作 文本处理套件 文本编辑器 系统 磁盘 网络 作者:余涛 email:yutao ...
- mongo报错:not authorized on bb to execute command { create: \“xxx\“...}
mongo报错: {"ok" : 0,"errmsg" : "not authorized on bb to execute command { cr ...
- pip install nmslib 失败 (error: command ‘x86_64-linux-gnu-gcc‘ failed with exit status 1)
1. 问题现象 使用 pip 安装 nmslib 命令时出现如下错误: sudo pip install nmslib ....ERROR: Complete output from command ...
- 解决 win10 pycurl安装出错 Command python setup.py egg_info failed with error code 10 编译安装包 安装万金油...
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yexiaohhjk/article/d ...
- bash: vue: command not found
安装vue的时候提示:bash: vue: command not found 我的原因node.js 环境变量配置有问题,最后添加了环境变量就好了..........
- -bash: fultter: command not found
flutter build apk bash: flutter: command not found 在studio中的控制台出现上面错误(如图所示) 解决办法: 安装flutter时,安装时可以执行 ...
- jenkins 插件执行shell命令时,提示“Command not found”处理方法
首先提示找不到"Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具 ...
- python mysql gcc_MySQL-python “error: command 'gcc' failed with exit status 1”错误
安装MySQL-python-1.2.3c1出现"error: command 'gcc' failed with exit status 1"错误 具体报错信息如下: _mysq ...
最新文章
- 【longPressKey】长按键盘任意键(或组合键)3秒触发自定义事件(以Pause/Break键为例)
- docker-dockerfile
- scala break continue
- 微信小程序 跳转界面
- 机器学习实战:k-近邻算法(手写数字识别)
- PythonOpenCV - 随机生成图像 与 图像的转维(reshape)
- Redis原理及拓展
- java里面cin怎么用_刚学Java,弱弱一问,eclipse中怎样输入啊,我写了输入语句但它不像C++的cin一样弹出输入窗口。。...
- FF“流产”后 许家印开始了自己的造车之路
- ssis 包部署_如何使用各种选项从SSIS目录执行已部署的程序包
- Zookeeper启动和Leader选举机制
- 字符多维php递归遍历目录
- 中国第一程序员--求伯君
- 微信小程序---tab选项卡组件
- linux连接库参数-l,gcc编译时,什么时候需要用-l参数指明连接库?
- 极域课堂管理软件(V2016)遇到的问题——“未找到可用的网络适配器,将以脱机模式启动”
- vue实现点击播放英语单词
- c语言程序设计21点扑克牌,c语言程序设计 21点扑克牌游戏
- “四次工业革命”的代表性技术/应用/意义
- 《C语言》4小时不挂科【猴博士爱讲课】(学习笔记)