如何将node安装到其他盘详细步骤与说明
node安装教程、node安装到D盘教程、node安装其他盘报错(operation not permitted)、npm或者yarn更新、设置全局安装位置和缓存位置
关键字:node安装教程、node安装到D盘教程、node安装其他盘报错(operation not permitted)、npm或者yarn更新、设置全局安装位置和缓存位置
前提
之前有安装过 node 请卸载干净(包括之前全局安装过的npm包,yarn包)再重新安装 node。环境:window系统(64位),node是16.17.0 LTS
一、安装node
建议前往 官网 下载,不建议去什么中文版网站下载。安装步骤:
- 双击msi安装包后, 勾选同意协议之后,点击“next”
- 选择D盘的nodejs目录,点击“next”
- 可以看到这样的页面,如果展示有不一致,请调整配置成一致的(特别是要Add to Path)。确认配置一致之后, 点击“next”
从上面可以看到,安装node默认也会安装npm包管理器。
- 看到下图,可以不勾选。看网上的说法好像是因为网络原因可能会不成功,所以博主没有勾选。大家可以按需要,可以直接点击“next”
- 点击安装,安装成功之后,检查一下,打开cmd,输入:node --version、npm --version
能打印出版本号说明安装成功!
二、设置npm cache和global放置位置
为什么进行这一步的配置?切到D盘为是为了减少C盘负担,在我们运行npm install koa -g还是会默认安到C盘的(C:\Users\用户名\AppData\Roaming\npm),所以需要更改默认位置!!!
1. 新建存放位置
前提是 nodejs 文件夹必须有完全控制的权限。不然等会 npm install 会报错:could not create logs-dir: Error: EPERM: operation not permitted, mkdir。设置方法如下:
有权限的话,在nodejs目录下新建文件夹(不在这个目录也可以,但是这个目录不容易忘记):
node_cache、node_global(该目录下新建子目录:node_modules)、yarn_cache、yarn_global
2. 配置环境变量
这一步照做就好,不要问为什么,博主也不知道。
右键“此电脑” 选择属性 --> 高级系统设置 --> 环境变量。这里分别有用户变量和系统变量:
- 在【用户变量】新建变量名:NODE_PATH,变量值:D:\nodejs\node_global\node_modules
- 在【用户变量】的 Path 删除:C:\Users\用户名\AppData\Roaming\npm(全局安装依赖包时的默认位置)
- 在【用户变量】【系统变量】的 Path 添加两行:D:\nodejs、D:\nodejs\node_global
- 按下图配完之后,建议重启电脑然后打开cmd输入:node --version,看看有没有成功!
注意:配置环境这一块我不是很理解用户变量和系统变量的区别,但是这样配置是能实现的,只要不乱删除 Path 问题应该不大!
3. 设置npm config
前面配置了环境变量最好重启一下电脑再进行以下操作。
打开cmd,输入以下命令:
npm config set prefix D:\nodejs\node_global
npm config set cache D:\nodejs\node_cache
如果报错了,请看标题:新建存放位置的前提!设置成功后(就是没有报错提示),输入:npm config ls
至此npm全局位置配置成功!
三、安装yarn
就用 yarn 来测试一下现在 npm global 时依赖包的安装位置是否在 D:\nodejs\node_global 下:
npm install yarn -g
#显示安装完成之后
yarn --version
yarn安装成功之后,看看 yarn 的存放位置:
完全没问题,不会安在可恶的C盘了!现在也来修改一下 yarn global 时存放位置!
yarn config set global-folder D:\nodejs\yarn_global
yarn config set cache-folder D:\nodejs\yarn_cache
输入命令查看是否修改成功:yarn config list
配置成功,然后随便全局安装一个依赖试试看:
成功!
总结
到这里,整个将 node 移到其他盘的步骤教程已经结束。最有问题的地方是配置环境变量,如果有疑问可以多参考其他博主的做法,有些是配置用户变量,有些是系统变量。谢谢大家,欢迎评论区大家补充、提问!!
更多推荐
所有评论(0)