nvm、node、npm和yarn是前端开发中常用的工具,nvm用于管理Node.js版本,Node.js用于构建服务器端应用,npm用于依赖管理,yarn则是Facebook开发的包管理工具。本文将详解这四大开发工具的特点及区别。
1、nvm(Node Version Manager)
nvm 是专门管理 Node.js 版本的工具。因为 Node 版本更新快,不同项目可能需要不同版本的 Node 才能运行,用 nvm 就能在一台电脑上装多个 Node 版本,随时切换,不用来回卸载重装。
作用:管理和切换不同版本的 Node.js。
特点:
- 能同时装多个 Node 版本,想用哪个切哪个;
- 适合不同项目对 Node 版本的不同要求;
- 命令简单,比如安装、切换、卸载版本都有对应命令。
常用命令:
查看已安装的所有 Node 版本:
`nvm list` 或者 `nvm ls`
安装指定版本的 Node:
# 安装14.15.0版本
nvm install 14.15.0
# 验证是否成功
node -vnpm -v
切换到某个版本:
# 使用14.15.0版本
nvm use 14.15.0
查看当前在用的版本:
nvm current
卸载某个版本:
nvm uninstall 14.15.0
2、Node.js
什么是Node.js?Node.js是一个基于 Chrome 浏览器 V8 引擎的工具,它能让 JavaScript 代码不在浏览器里跑,而是直接在服务器上运行。它是开源的,专门用来做快速、能扩展的网络应用,比如网站后台、API 接口、实时聊天工具这些。
作用:让开发者能用 JavaScript 写服务器端的代码(不用再学其他语言)。
特点:
- 单线程工作,但处理请求时不卡顿(非阻塞 I/O),效率高;
- 适合应对大量并发请求(比如很多人同时访问网站);
- 有海量的工具和代码库,通过 npm 就能获取。
常用命令:
查看当前安装的 Node 版本:
node -v# 或者
node –version
3、npm(Node Package Manager)
npm 是 Node.js 自带的“包管理工具”,专门用来管 JavaScript 的各种代码库和依赖。简单说,就是帮你下载、安装、更新项目里要用的各种工具和框架(比如 React、Vue 这些)。
作用:管理 Node 项目里的依赖包(比如各种库、框架)。
特点:
- 全球最大的 JavaScript 包仓库,里面有上百万个现成的代码包;
- 用命令行就能操作,比如安装包、更新包、删除包;
- 可以通过 `package.json` 文件记录项目依赖,方便多人协作。
常用命令:
安装依赖包:
npm install <package>(例如 npm install express)
安装开发时才用的依赖(比如代码检查工具):
npm install –save-dev <package>(例如 npm install eslint –save-dev)
全局安装工具(比如命令行里直接用的工具):
npm install -g <package>(例如 npm install -g nodemon)
卸载包:
npm install -g <package>(例如 npm install -g nodemon)
更新包:
npm update <package>(例如 npm update express)
初始化项目(生成 `package.json`):
npm update <package>(例如 npm update express)
查看已安装的依赖:
npm list 或 npm list –depth=0(仅显示顶层依赖)
运行项目脚本(比如启动项目):
npm run <script>(例如 npm run start)
配置镜像源(国内用淘宝镜像更快):
npm config set registry https://registry.npm.taobao.org
查看当前镜像源:
npm config get registry
4、Yarn
Yarn 也是一个包管理工具,相当于 npm 的“升级版”,主要为了更快、更稳定、更安全。它安装包时会并行处理,速度比 npm 快,还会生成 `yarn.lock` 文件,保证不同电脑上装的依赖版本完全一致。
作用:和 npm 一样管理项目依赖,但更注重性能和版本一致性。
特点:
- 并行安装包,速度更快;
- 严格的版本控制,多人协作时依赖版本不会乱;
- 支持离线安装(之前装过的包,没网也能再装)。
常用命令:
初始化项目(生成 `package.json`):
yarn init
安装项目所有依赖(根据 `package.json`):
yarn# 上面命令等同于 yarn install,因为安装是默认行为
安装指定依赖包:
# yarn add <package>:yarn add taco# 安装指定的开发依赖包。这些依赖包一般是开发时所需的工具、插件等。yarn add <package> –dev
卸载包:
yarn remove <package>
更新依赖包:
yarn upgrade# 更新指定依赖包的版本。yarn upgrade <package>
检查哪些包过时了:
yarn outdated
启动项目:
yarn start
构建项目:
yarn build
运行测试:
yarn test
运行自定义脚本(在 `package.json` 的 `scripts` 里定义的):
yarn run <script>
部署时遇到版本依赖报错,忽略引擎检查:
yarn config set ignore-engines true
发布包到 npm:
yarn publish
Yarn 配置:
yarn config set <key> <value>yarn config get <key>
5、nvm、node、npm和yarn关系与区别
Node.js是基础,是让 JavaScript 能在服务器运行的环境,其他工具都依赖它;
- npm 和 Yarn 都是包管理工具,功能类似:npm 是 Node 自带的,Yarn 是更优的替代品(更快、更稳定);
- nvm 是 Node 版本管理工具,管的是 Node 本身的版本,而 npm/Yarn 随 Node 一起安装,切换 Node 版本时,npm/Yarn 版本也会跟着变。
-
广告合作
-
QQ群号:4114653



