今天分享一个nvm安装过程中遇到的坑(在Windows下)。
坑
刚入坑nvm的时候,从网上搜nvm安装与使用,会出来一大堆教程,然后就能看到好多文章都在安装过程中自定义
了nvm的安装路径
和nodejs的安装路径
。
坑
就在这。
如图,安装过程中会让我们选择nvm
和symlink(即nodejs的实际生效路径)
的安装路径:
一旦我们选择了自定义的路径,就有几率入坑。
原因
因为我们是在Windows下安装nvm,而Windows中的账户对某一些磁盘(常见的是系统盘以外)中的文件夹不具有直接的读写权限
(即便是管理员用户,确实有这个情况,具体原因我也没过多了解),就导致了我们安装nvm后,环境变量也都正常配置了,nvm命令可用
,但是node和npm命令都不可用
。
为什么Windows账户对文件夹的读写权限不足会导致node与npm命令不可用呢?
我发现,正常情况下,在使用nvm install <node版本号>
命令后,会在nvm的安装目录生成一个名字为v版本号
的文件夹,里面下载了对应版本的nodejs,但并没有npm相关文件。并且还会在我们安装时选择的symlink
路径(即nodejs实际生效路径)生成一个文件夹的快捷方式,而该文件夹就是那个在nvm安装路径下名为v版本号
的文件夹。
此时问题就出现了,如果我们自己指定了路径,又恰巧出现了账户权限不足,就无法在symlink
下生成node的快捷方式!然后就导致了node与npm命令不可用。。。
解决方案
为了避免不必要的麻烦,强烈推荐使用默认的nvm与symlink安装路径(因为一般都是C盘下,而一般大家的系统都装在C盘,权限比较高,并且默认的路径中不包含中文,不包含空格
)。
或者有兴趣的同学可以研究一下文件权限的问题。
真正的大师永远怀着一颗学徒的心。
虽然我不是大师,但梦想是成为一名真正的大师。
欢迎大佬们批评指正。