mac上.bash_profile配置错误导致bash 命令行无法使用 command not found
翻遍了Google和Baidu无意中发现一个方法可完美解决,遂小记一下
-
卸载node
-
安装node
- 官网下载
- nvm版本控制安装
-
nvm安装方法:
-
cd ~/
-
git clone https://github.com/nvm-sh/nvm.git .nvm
-
cd ~/.nvm
-
git checkout v0.38.0
-
. ./nvm.sh
-
.bash_profile文件中添加以下代码:
-
-
nvm使用方法:
nvm 默认是不能删除被设定为 default 版本的 node,特别是只安装了一个 node 的时候,这个时候我们需要先解除当前版本绑定,然后再使用
nvm uninstall <version>
删除
-
-
获取环境路径
cd ~/
echo $PATH
- .bash_profile文件中添加: PATH="
2步骤获取的路径放在此处
:$PATH” - source .bash_profile
-
完结
-
拓展延伸: https://github.com/LightXJ/blog/issues/28
-
全局安装
全局安装是将npm包安装在你的node安装目录下的node_modules文件夹中。在windows和mac中,全局安装的默认路径是不同的。在mac中默认是安装到/usr/locla/lib中。当然你也可以通过一下命令来查看全局安装路径。
-
指令
// 查看全局安装路径npm root -g
// 查看npm的基础设置npm config ls
// 查看安装目录路径npm config get prefix
如果是公共电脑你不想将npm包安装在默认目录下,那么你可以通过命令来修改安装路径。// 修改安装目录路径npm config set ''
如果在全局安装中遇到权限问题报错,你需要修改文件夹的权限,执行一下命令。sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
-
全局命令
npm包在全局安装之后,这个包的命令就会被注册到全局,你就可以直接在命令行中执行这个命令了。其实当你全局安装一个npm包之后,这个包被存放在/usr/locla/lib/node_modules下。而在这个包的package.json文件中,在bin属性下配置的执行命令,会放在/usr/locla/bin文件中。当你在命令行执行这个命令,系统就会执行/usr/local/bin 目录下对应的文件。
以全局安装vue-cli为例,为大家简述一下安装过程。
1.npm install -g @vue/cli
安装vue包到/usr/local/lib/node_modules
2. 查找vue包的package.json中的bin属性
3. 将vue命令的执行文件添加到/usr/locla/bin中
4. 在命令行中执行vue create vue-test,命令被识别
-
-
局部安装
在特定项目中执行npm install xxx,那么这个包会被安装在这个项目的node_moduels目录下。但是如果你在这个项目中直接执行包中的命令,就会发现控制台报错,告诉你这个命令找不到。这时候有两个解决方法:
-
使用npx执行:npx出现主要解决的问题就是调用项目内部安装的模块,所以你可以在项目中执行npx 包命令
-
在package.json文件中配置:
-
原理: 在本地安装一个包之后,这个包的命令会被添加到项目的node_modules/.bin 文件中。执行npm run 命令,package.json中的scripts会按照一定顺序寻找对应命令的位置,本地的node_modules/.bin也在寻找的清单中。所以本地安装的包的命令可以执行。
-
-
nvm原理
nvm实现原理
一般大抵这种软件的实现原理都是在一个目录下存放多个版本的目录,在切换的时候,将相应的版本路径加入PATH中,从而实现版本的切换。
-
npx
1.
-
__EOF__

本文链接:https://www.cnblogs.com/web-zs/p/16386321.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY