943 字
5 分钟
在安装Node和切换版本时所遇到的问题及解决方式
如何切换npm下载路径
在安装完毕nodejs并配置好PATH后通过npm config list命令观察电脑中C:\Users\当前用户是否存在文件.npmrc
在刚刚安装完毕nodejs时候,一般是不存在这个文件的。
如果不存在.npmrc文件
则在nodejs根目录创建node_global和node_cache两个文件夹
首先在PATH中添加node_global所在目录,然后创建NODE_PATH环境变量值为
nodejs根目录\node_global\node_modules(以防止其他应用找不到全局模块)
之后输入
npm config set prefix "***" //***为node_global所在目录npm config set cache "**" //**为node_cache所在目录更改完毕后记得使用npm config list命令验证一下
如果存在.npmrc文件
直接去电脑中C:\Users\当前用户更改对应条目即可,prefix对应node_global所在目录,
cache对应node_cache所在目录
如何切换node版本
更改版本时 需要修改环境变量中的NODE_PATH 和 PATH中的node根目录、node_global进行相应修改
还需要更改C:\Users\当前用户中的.npmrc文件中的cache和prefix条目
在需要频繁切换版本的情况下,建议修改.npmrc中的registery源地址
不同版本node在切换后共用同一个.npmrc,因为某些早期版本npm版本过低,cnpm和nrm不可用,切换后可能忘记切换源地址导致下载缓慢。
使用Npm技巧
使用时尽量使用npm install,这个命令默认安装在当前目录下。
npm install <package> --save(-S) //将依赖同步记录到 package.json,意为项目在运行时需要的包。npm install <package> --save-dev(-D) //将依赖同步记录到 package.json,意为仅在开发、构建、测试时需要的包。npm install -g <package> //全局安装CAUTION下面的pnpm是我在探索scoop的时候学习的,这个时候nodejs和npm也已经使用scoop管理了,但是没时间写注意事项,先鸽了吧,然后下面的pnpm相关是基于scoop写的
pnpm相关
pnpm的三个不同目录的作用
- Global Store目录:把包按功能划为数据块,所有包的所有数据块全部在这个目录。
- Global Bin目录:当使用
pnpm add -g全局安装命令时,pnpm会先下载对应包的块放在Global Store目录,之后把包生成bin文件放在这个目录,因为pnpm的核心技术硬链接组织数据块,软链接组织依赖树,而它最大的缺点是不能跨盘符使用,为了供给其他盘的项目使用,所以才会生成bin文件。 - Virtual Store目录:是指每个项目中的
node_module目录,这个目录中的包有两种情况,如果当前项目与Global Store目录在同一盘符下,那么直接使用硬链接到对应包;如果不在同一盘符下,则使用对应的bin文件。
使用scoop配置的pnpm
- 首先使用
scoop install pnpm安装; - 安装完成后使用
pnpm config list检查默认配置如下图。
globalconfig表示pnpm专属的全局配置文件位置,运行 pnpm config set ... --global,修改的就是这个文件。
npm-globalconfig表示这是 Scoop 预设的 npm 兼容配置文件。因为 pnpm 能够读取 npm 的配置,Scoop 为了让它“开箱即用”,在安装路径下塞了这个文件。
store-dir表示依赖包所存位置,也就是Global Store目录。在这个配置文件中没有配置PNPM_HOME环境变量,也就是Global Bin目录,这个需要我们手动配置环境变量。
%PNPM_HOME% = "D:\scoop\persist\pnpm\bin"还需要在%PATH%中也配置这个目录。参考文章
在安装Node和切换版本时所遇到的问题及解决方式
https://fuwari.vercel.app/posts/在安装node和切换版本时所遇到的问题及解决方式/在安装node和切换版本时所遇到的问题及解决方式/