前言
日常开发中,电脑的node版本会有多个,导致不同的项目要切换不同的node版本,今天抽空想重新整理一下开发环境,所以找到node
的老巢,直接delete
所有node版本,然后执行nvm install 12.10.0
重新安装。
引发的问题
重新打开终端(ITerm2),提示
zsh: command not found: node
然后根据报错,在网上一顿操作,最终重新打开终端(ITerm2),可以找到node
了,但是会出现一堆的打印日志(具体日志内容就不赘述了)
具体的操作如下
- 找到安装的nvm路径,在nvm同级下找是否有
.bash_profile
文件,如果没有重新建一个该文件
// 创建文件
touch .bash_profile
// 打开
open .bash_profile
- 然后将以下代码复制到
.bash_profile
文件里保存并关闭
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
/Users/用户名/.nvm/versions/node/v12.10.0/bin/npm
- 最后运行
.bash_profile
source .bash_profile
这样操作后,终端里可以找到node
了,就以为编辑器里也可以使用,然后屁颠屁颠的到编辑器里打开Terminal
,so,事情并没有想象的那么顺利,蓝廋香菇?。
提示信息如下
.zshrc:source:103: no such file or directory: .bash_profile
然后又是一顿操作猛如虎
nvm ls
nvm alias default <version>
最终执行nvm ls
,具体入下图
此时重新开启终端,之前一堆打印日志没有了,界面很干净,?
然后再揣着忐忑的心去编辑器里的Terminal
,嗯,界面依旧很干净,而且没有任何报错信息,此事算是终于解决了。
出现问题的原因
1、因为ITerm2是后面才装的,安装这个应用后,导致环境变量PATH
发生改变,所以要重新指定node
的路径,查看路径
echo $PATH
在.bash_profile
指定路径后,运行改文件即可
2、手动删除node文件夹,导致文件没有删除干净,执行nvm ls
时,虽然没有原来版本的node,但是nvm指定的默认node版本,还是原来的node版本,导致找的node版本号不对。
指定默认版本
nvm alias default <version> 如: nvm alias default v11.1.0
知识延伸
nvm安装
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
or Wget
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
具体最新版本在查看git上
https://github.com/creationix/nvm/blob/master/README.md
nvm 常用命令
// 安装node指定版本
nvm install node版本
// 删除node指定版本
nvm uninstall node版本
// 切换node指定版本
nvm use node版本
// 列出node版本
nvm ls
// 指定node默认版本
nvm alias default <version> 如: nvm alias default v11.1.0
如果使用nvm管理node,删除node版本时,一定要使用命令行删除,切忌手动删包