Win10安装配置Node.js
一、前言
重装系统后根据网上的教程重新安装Nodejs,有了自己的理解。记录整个过程,减少以后再次安装时查阅资料的麻烦😊。
操作环境:Windows 10专业版,版本号21H2,操作系统内部版本19044.1526
二、内容
1.下载Nodejs
前往官网下载即可,这里依旧选择了64位免安装版。(演示时所用软件包已在文章最后给出)
注:优先下载LTS(Long Term Support,长期支持)版本,更为稳定。
2.解压至合适位置
此处依然是将其移动到D盘下的App目录中。
3.新建文件夹
在软件的根目录下新建一个文件夹node_cache,用于存放npm的缓存文件(这些文件默认存放在系统盘下的用户文件夹内)。
4.设置环境变量
- 将nodejs的根目录加入到系统变量path中。
-
新建一个系统变量NODE_PATH,值为nodejs根目录\node_modules。
注:NODE_PATH为nodejs默认加载的模块路径,详细介绍可参考文章nodejs中的NODE_PATH。
最后的环境变量设置情况:
5.检验Nodejs和npm的安装情况
在cmd下运行如下命令
node -v #查看nodejs版本
npm -v #查看npm版本
若正确输出版本信息,说明环境变量设置正确。
6.修改配置
注:在cmd内执行 npm config ls -l 命令可查看npm的默认配置
从上图中可以看出,npm的默认cache目录为C:\Users\hsy\AppData\Local\npm-cache,如下图所示。
npm默认缓存在系统分区,故对其进行修改。以管理员身份运行cmd命令行程序,执行如下命令即可。
npm config set cache=nodejs安装目录\node_cache #注意cache和路径之间直接用“=”相连,无空格
注:以管理员身份运行cmd
Win+Q唤出搜索框,输入cmd。
选择以管理员身份运行
注:npm模块包的两种安装方式
-
本地安装
默认安装在当前路径的node_modules文件夹内,可在cmd下运行 npm root 命令查看安装路径。
-
全局安装
安装在统一的路径中(默认为nodejs配置的prefix目录下的node_modules文件夹)
在cmd下运行 npm config get prefix 命令可获取prefix的值;在cmd下运行 npm root -g 命令可查看全局安装路径。
7.检查配置情况
- 初始情况:nodejs仅全局安装了corepack和npm两个模块。
-
测试本地安装
在D盘根目录新建一个文件夹,命名为test。
进入该目录,在cmd下运行命令 npm install express 安装一个express模块,最终效果如下:
-
测试全局安装
任意目录下进入cmd,运行命令 npm install express -g ,最终效果如下:
-
测试全局安装模块的效果
从检验效果来看,nodejs和npm的配置基本上成功了。
8.其他
-
删除模块
-
删除全局模块: npm uninstall -g 模块名 ,效果如下:
-
删除本地模块: npm uninstall 模块名 ,效果如下:
-
-
加速下载
npm默认去国外镜像站下载所需模块,速度可能不理想。将下载源修改为国内镜像(如阿里的镜像),可加快下载速度,改善体验。
#临时使用 npm install 模块名 --registry=https://registry.npm.taobao.org #永久使用,将如下命令执行一次即可 npm config set registry=https://registry.npm.taobao.org
效果如下:
-
临时使用
-
永久使用
-
三、总结
此次安装和配置nodejs时,没有完全根据网上的教程去安装和配置。自己还是喜欢解压配置后就能用的版本,这样更方便😋。网上的教程都说要新建node_global和node_cache两个文件夹,然后修改对应的npm配置,并修改环境变量。但自己在操作的时候,出于自己的理解,只建了一个文件夹,然后环境变量的设置也有不同。尽管这样,但最后是可以正常使用的。自己这次探索学到了不少内容,增进了对nodejs的认识,同时自己独特的配置方式也方便了以后自己的使用😄。
附录:
本文所用nodejs软件包:https://www.123pan.com/s/M6VA-odAIh ,提取码:0mtF。
参考链接:
操作时全局安装webpack-cli模块后,会出现使用 npm ls -g 命令查看已安装的全局模块时不显示webpack-cli的问题,但是不影响webpack-cli在cmd下的命令使用。
有关这个问题,可参考文章 npm ls -g的一个疑问。以后如果使用中遇到问题,再来修改😉。