nvm作为node管理工具可以在前端开发时,在本地安装多个node版本从来适应不同的工程代码,是比较推荐使用的!!

注意:在安装使用nvm时,需确保本地没有安装任意版本的nodejs(防止环境路径覆盖),导致nvm无法正常使用!!

作为小白在使用该工具时,可能会出现标题所示报错,原因在于系统环境变量配置有误,以下给出解决方案。 

首先,展示nvm安装后正常工作的情况:

 如果没有执行nvm ls后面没有Currently using 64-bit executable括号内容,则说明nvm管理node失效,后面的node npm均会报错

其次,解决方法:

1. 找到电脑环境变量:我的电脑=> 属性=>高级系统设置=>环境变量

2. 将环境变量配置成如下图所示(缺的就新建,变量和值 不对就编辑修改):

 3.将用户变量(U)和 系统变量(S)中的Path配置成如下图所示:

 3.设置好以上环境变量 确定 ,即可解决问题,以下测试功能正常:

 最后,提一下用户变量(U)和 系统变量(S)的区别作用:

        所谓环境变量,可大致理解为就是给 操作系统 定义的一些路径和名称。比如 Path 就是最常用的环境变量,该环境变量就指示了可执行文件的存放目录。在使用cmd命令行时如果不指定其文件路径执行某个操作,系统可能找不到这个命令对应的可执行文件从而出现报错(“xx不是内部或外部命令,或者不是可执行程序”,此时则需要将要执行文件所在的目录放到Path环境变量中,就能够确保系统找到对应的可执行文件。

两者区别可以理解为 局部作用域全局作用域

        windows系统可以创建多个账户(默认名为Administrator),用户环境变量就是只对当前的账户有效,可以看到用户环境变量的全称是xxx的用户变量(U),表示这只是针对某个账户的变量;而系统变量就是对所有的账户都是有效的。

总结如下:

  1. windows系统在执行用户命令时,若用户未给出文件的绝对路径,则首先在当前目录下寻找相应的可执行文件、批处理文件等
  2. Path变量告诉系统可执行文件存放的路径
  3. 如果 当前目录 找不到对应文件名的程序,在 系统变量 的PATH的路径中,依次寻找对应的可执行程序文件;如果系统变量的PATH的路径找不到,再到 用户变量 的PATH路径中寻找(如果系统变量和用户变量的PATH中同时包含了同一个命令,则优先执行系统变量PATH中的命令)
  4. 系统变量与用户变量可以存在重名,比如系统变量与用户变量都可以有一个名为Path的变量(变量名都不区分大小写)
  5. 每次新加环境变量后要确定保存了,再重启CMD,否则不生效的
  6. 在CMD里要输出环境变量 ECHO %变量名%

  附:可以发现,一般来说用户变量和系统变量只配置一个即可,并且推荐为用户专门配置环境变量,各用户差异对待。如果是直接安装的node没有用nvm管理,可以参考另外一篇文章--cmd可以用node但是vscode报错

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐