今天分享一个nvm安装过程中遇到的坑(在Windows下)。

刚入坑nvm的时候,从网上搜nvm安装与使用,会出来一大堆教程,然后就能看到好多文章都在安装过程中自定义nvm的安装路径nodejs的安装路径

就在这。

如图,安装过程中会让我们选择nvmsymlink(即nodejs的实际生效路径)的安装路径:

装完nvm找不到yarn命令_前端


装完nvm找不到yarn命令_版本号_02

一旦我们选择了自定义的路径,就有几率入坑。

原因

因为我们是在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盘,权限比较高,并且默认的路径中不包含中文,不包含空格)。

或者有兴趣的同学可以研究一下文件权限的问题。

真正的大师永远怀着一颗学徒的心。

虽然我不是大师,但梦想是成为一名真正的大师。

欢迎大佬们批评指正。