这是我参与更文挑战的第9天,活动详情查看: 更文挑战
介绍
相信很多工作中的前端兄弟们, 遭遇过诸多类似的问题:
- node版本不匹配/冲突
- 公司npm源和公共源频繁切换
- 项目依赖下载慢/启动慢/打包慢
笔者学习并热爱着Python, 所以面对版本问题, 脑海中的第一反应就是虚拟环境和Conda
顺着这个思路找到了nvm, 紧接着认识了nrm
最后在npm/yarn/pnpm中认同了pnpm(但存在一点点坑)
nvm
一个node版本管理的工具, 地址为github.com/nvm-sh/nvm
windows版地址为github.com/coreybutler…
二者命令存在差别, 需要注意
nrm
在使用上和nvm极为相似, 但它是用来管理npm源的, 可以很方便的进行切换
注意, 最新版的nrm在windows下会报错, 笔者推荐安装历史版本(下文会介绍实际使用流程)
pnpm
包管理工具之争, 这个就不再多说了, 有中文网地址www.pnpm.cn/
使用
使用nvm安装node
第一步, 最好将目前已安装的node进行卸载
第二步, 在上述官网中下载最新的安装包, 推荐使用安装版
第三步, 运行安装文件, 操作非常简单明了, 不再进行赘述
第四步, 查询当前可用的node版本, 我们以windows为例:
nvm list available
第五步, 安装指定的node版本:
nvm install 14.17.0
如果在这个过程中下载速度很慢或失败, 作者提供给了我们一个很简单的设置:
nvm node_mirror https://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/
最后一步, 激活刚刚下载的node版本:
nvm use 14.17.0
如果想查看自己安装了哪些版本, 用nvm ls
即可
这里简单说明下笔者遇到的问题, 在第一次安装成功后, npm命令无法使用
我的解决方案是卸载后将之前存在的nodejs文件夹删除并重新安装, 问题得到解决, 如果有兄弟们遇到相同的情况, 不妨先这样尝试一次
使用nrm管理npm源
nrm的安装就非常简单了:
npm install -g nrm@1.1.0
1.1.0版本在windows下可正常使用, 不会出现最新版本的问题
会用nvm后, nrm的操作基本可以如法炮制:
# 新增一个npm源
nrm add test http://my/npm/
# 查看已添加的npm源
nrm ls
# 切换npm源
nrm use test
# 删除npm源
nrm remove test
具体的命令在作者的Github仓库都有详细说明, 还是那句话, 官方文档大部分情况下优于一切
使用pnpm进行包管理
pnpm的安装和nrm一样:
npm install -g pnpm
包管理的操作都大同小异, 这里主要说明下笔者这个强迫症最满意的两点:
- pnpm的依赖保存在同一位置, 项目下只是链接
- pnpm的依赖结构不会进行平铺
在使用pnpm打包项目时, 遭遇了一个意外问题: 某些依赖丢失
在Github的Issues中我找到了相关解释, 就不进行翻译了, 直接贴上地址
总结
- node版本管理是必须掌握的技能
- 包管理工具还需要观望, 配合团队最重要, 不要特立独行