安装node,配置npm, yarn, pnpm, bun

文章目录

  • [安装node, 配置 npm, yarn, pnpm, bun](#安装node, 配置 npm, yarn, pnpm, bun)

安装node, 配置 npm, yarn, pnpm, bun

配置node

输入网址:Node.js,包含各种安装方式以及多版本管理方式。也可以直接下载安装包

安装包的安装过程很简单,基本只要注意安装目录以及环境变量就行。

使用包管理器也有好多种,这里介绍一个nvm-windows,官方的nvm不支持Windows。可以查看这里了解基本用法。

​安装完成之后可以检查结果:

bash 复制代码
# 查看 node 版本
node -v
# 查看 npm 版本
npm -v

配置 npm, yarn, pnpm, bun

package.json有一个配置项packageManager,可以指定项目使用的包管理器。

npm

npmnode自带的包管理器,默认使用https://registry.npmjs.org/镜像源。

具体的命令需要哪些标志或参数,可以使用npm <command> -hnpm help <command>查看

bash 复制代码
# 常用命令
npm -h # or npm --help 查看简单的帮助文件
npm <command> -h # 命令行查看对应命令的简单用法
npm help <term> # 浏览器查看使用详情
npm install # 安装依赖
npm install <pkg> # 或 npm add <pkg>安装模块依赖
npm update <pkg> # 或 npm up 更新模块
npm uninstall <pkg> # 或 npm remove <pkg> 移除模块依赖
npm search <glob-pkg> # 搜索类似的模块
npm view <pkg> # 查看模块详情
npm outdated # 查看过时模块
npm config ls # 查看npm配置文件,默认展示用户级和项目级
npm config ls -l # 展示所有配置项
npm config get <key> --location <user|global|project>  # 查看配置项<key>的值,默认是user
npm config set <key> <value> --location <user|global|project> # 设置配置项
npm config set prefix "D:\node-package-manager\npm-global-modules" # 配置全局模块安装位置,这个路径需要加入到`PATH`环境变量
npm config set cache "D:\node-package-manager\npm-cache" # 配置npm缓存路径
npm config set registry https://registry.npmmirror.com/ # 设置淘宝镜像源,发布包的时候可能需要修改这个

yarn

yarn旧版本使用npm i -g yarn安装。新版本使用corepack enable yarn设置。yarn set version [version]比如stable用于更新yarnyarn默认镜像源是https://registry.yarnpkg.com/

yarn默认配置是项目级,文件名是.yarnrc.yml。通过-H--home选项开启用户级。如果通过yarn config unset命令移除项目级和用户级的配置项,则使用内置的默认值。

很多npm命令都可以使用yarn npm代替。如果yarn没有对应命令的话,可以尝试使用yarn npm运行一下。

bash 复制代码
yarn -h # 查看帮助
yarn [...command] -h # 查看具体命令的帮助文件
yarn # 安装依赖
yarn add <pkg> # 安装依赖模块
yarn up <pkg> # 更新模块
yarn remove <pkg> # 移除依赖模块
yarn search # 启动可视化搜索
yarn info ... # 查看项目安装的模块版本和依赖信息
yarn npm info <pkg> # 查看模块详情
yarn upgrade-interactive # 查看过时模块
yarn config # 查看配置信息
yarn config get <name> # 获取`<name>`配置项的值,取最近的值:项目>用户>系统
yarn config set <name> <value> # 设置配置项,默认是项目级,使用`--home`配置用户级
yarn config set globalFolder -H 'D:\node-package-manager\Yarn\Berry' # 系统级模块存储位置,一般运行`yarn dlx <pkg>`安装临时模块,不再使用`yarn global add <pkg>`
yarn config set cacheFolder -H 'D:\node-package-manager\Yarn\Berry\cache' # 缓存文件位置
yarn config set npmRegistryServer -H https://registry.npmmirror.com/ # 配置镜像源
yarn config unset <name> # 取消设置的配置项,可以使用`--home`配置用户级,如果都移除了就使用系统级的默认值

pnpm

pnpmnpm命令相似,多了一个仓库管理。可以使用npm i -g pnpm安装,也可以使用corepack enable pnpm安装。

有一些pnpm命令是直接使用的npm命令。同时

bash 复制代码
pnpm -h
pnpm <command> -h # 或 pnpm help <command>
pnpm install # 安装依赖
pnpm add <pkg>
pnpm up -i # 或 pnpm up <pkg> 更新模块
pnpm rm <pkg> # 移除模块
pnpm search <glob-pkg> # 就是 npm search
pnpm view <pkg> # 就是 npm view
pnpm outdated # 检查过时模块

pnpm配置需要用到npm的配置。也就是说如果配置项是npm的就会写入npm的配置文件,否则就写入pnpm的配置文件中。这个文件一般在${user}\AppData\Local\pnpm\config\rcpnpm自身没有用户级配置,--location <project|global>只能指定项目级和系统级。

bash 复制代码
pnpm config list # 查看所有配置
pnpm config get <key> # 查看指定配置项
pnpm config set <key> <value> # 设置配置项
pnpm config delete <key> # 删除配置项

pnpm store管理包仓库。pnpmnode_modules文件中的依赖扁平化,所有模块及依赖都会安装到仓库。这样node_modules目录下只会存在顶级导入的模块的链接模块,这些模块也指向仓库中的模块。这样可以大大节省磁盘空间,也可以同时存在相同模块的不同版本。

bash 复制代码
pnpm config set store-dir "D:\.pnpm-store" # 配置仓库路径
pnpm config set global-dir "D:\node-package-manager\pnpm-global-modules" # pnpm全局安装路径
pnpm config set global-bin-dir "D:\node-package-manager\pnpm-global-modules" # pnpm全局bin路径,需要添加到`PATH`环境变量中
pnpm config set state-dir "D:\node-package-manager\pnpm-global-modules" # pnpm创建pnpm-state.json文件的目录
pnpm config set cache-dir "D:\node-package-manager\pnpm-cache" # pnpm全局缓存路径
pnpm store path # 查看仓库路径
pnpm store prune [--force] # 清理仓库

上面的配置不会添加到.npmrc文件中,这是为了保证.npmrc不会出现配置以外的项。

bun

使用npm i -g bun安装bunbun实际上是对比node的,可以像node一样执行命令,并提供了许多内置API以及插件。

附带一个项目配置文件bunfig.toml。这和.npmrc的功能类似,但更加强大。其它常用npm命令基本类似。bun也会读取.npmrc的配置,但还不支持bun config命令,所以需要手动修改项目的bunfig.toml文件。

相关推荐
无责任此方_修行中8 小时前
关于 Node.js 原生支持 TypeScript 的总结
后端·typescript·node.js
程序员黄同学8 小时前
解释 Webpack 中的模块打包机制,如何配置 Webpack 进行项目构建?
前端·webpack·node.js
月起星九10 小时前
为什么package.json里的npm和npm -v版本不一致?
前端·npm·node.js
Peter 谭11 小时前
“三小时搞定AI工具开发“:基于MCP的Node.js极简实践
人工智能·node.js
还是鼠鼠14 小时前
Node.js Express 处理静态资源
前端·javascript·vscode·node.js·json·express
阿陈陈陈19 小时前
【Node.js入门笔记12---npm包】
笔记·npm·node.js
coding随想21 小时前
scss报错Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0
前端·node.js·sass·scss
yang_love10111 天前
Webpack vs Vite:深度对比与实战示例,如何选择最佳构建工具?
前端·webpack·node.js
355984268550551 天前
医保服务平台 Webpack逆向
前端·webpack·node.js
不能只会打代码1 天前
六十天前端强化训练之第三十一天之Webpack 基础配置 大师级讲解(接下来几天给大家讲讲工具链与工程化)
前端·webpack·node.js