Node 下载地址:nodejs.org/en
查看当前版本
node -v
管理员身份运行 powershell - 更改策略模式
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Nvm 官方下载地址:github.com/nvm-sh/nvm
gitee 镜像地址:gitee.com/mirrors/nvm…
nvm --version # 版本号
nvm -v # 版本号
nvm --help # 使用说明
nvm list available # 查看所有 Node 版本
nvm ls # 本地安装所有 Node 版本
nvm install <version> # 安装指定版本
nvm use <version> # 使用指定版本
Npm
查看所有全局安装包
--depth 0 指定了只显示最顶层的全局包,即那些直接安装在全局 node_modules 文件夹下的包,不展示它们的依赖层次结构。
npm list -g --depth 0
查看本地所有依赖包版本信息,检查已安装的本地模块是否是最新的版本。
npm outdate
相关指令
全局安装
npm install -g <package-name>
本地安装生产环境依赖包
npm install --save <package-name>[@latest]/[@next]
本地安装开发环境依赖包
npm install --save-dev <package-name>[@latest]/[@next]
卸载全局包
npm uninstall -g <package-name>
卸载本地包
npm uninstall <package-name>
更新所有本地依赖包
npm update
更新所有全局依赖包
npm update -g
更新全局安装依赖包
npm update -g <package-name>
清除缓存
npm cache clean --force
验证缓存
npm cache verify
版本检测
npm i -g npm-check
查看
npm-check
建议:交互式查看
Non-Semver 表示主版本更新存在风险;
Major Update 主版本号,不更新
npm-check -u
依赖冲突
npm install --legacy--peer-deps
npx
npx 用于执行安装在本地项目中的可执行文件;
npx mrm 是执行项目脚手架任务的命令;
npx msw 是一个用于模拟服务端的工具,它是 Mock Service Worker(MSW)的命令行接口;
yarn
安装
npm install yarn -g
初始化
yarn init
yarn create -y
查看版本
yarn -v
yarn install
安装一个项目的所有依赖; 执行不带任何命令的 yarn,等同于执行yarn install,并透传所有参数
yarn add
一个包是一个包含代码的文件夹和一个描述包内容的 package.json 文件; 执行yarn add package-name 命令,来为项目安装所需的包; yarn add 和 yarn add --dev。
yarn remove # 删除
yarn add [package-name]
安装 latest 最新版本。
yarn add package-name
从 registry 里安装这个包的指定版本。
yarn add package-name@1.2.3
安装某个 “tag” 标识的版本(比如 beta、next 或者 latest)。
yarn add package-name@tag
yarn outdated
列出当前项目包的所有依赖项的版本信息,包括当前已安装的版本、最符合语义版本定义(semver)的版本和最新的可用版本。
yarn upgrade
根据在 package.json 文件中所指定的版本范围将依赖更新到其最新版本,也会重新生成yarn.lock 文件;
yarn upgrade # 更新
upgrade-interactive 与 upgrade 命令采用相同的参数和功能;
在执行升级操作之前,此命令将显示已过期的包列表,并允许用户选择相应的想要升级的包;
--latest : 此标志告知 yarn 忽略 package.json 中指定的版本范围,改用资源库中标为 latest 的版本,谨慎使用。
yarn upgrade-interactive [--latest]
yarn check
验证当前项目 package.json 里的依赖版本和 yarn 的 lock 文件是否匹配;
验证当前项目 package.json 里包内容的版本和 hash 值是否与 yarn 的 lock 文件一致。 这有助于验证包依赖没有更改;
yarn check [--integrity]
yarn cache
Yarn 将每个包存储在你的文件系统-用户目录-全局缓存中。
yarn cache list 将列出已缓存的每个包。
yarn cache list --pattern 将列出匹配指定模式的已缓存的包。
yarn cache list [--pattern]
打印出当前的 yarn 全局缓存路径。
yarn cache dir
运行此命令将清除全局缓存; 将在下次运行 yarn 或 yarn install 时重新填充。 此外,您可以指定一个或多个想要清除的包
yarn cache clean [<module_name...>]
yarn cache clean --force
pnpm
优势
- 更快的安装和更新时间:比其他包管理器快2倍,当安装共享依赖的多个包时,pnpm只会为每个依赖安装一次,而 npm 和 yarn 会为每个包分别安装每个依赖。
- 更少的磁盘空间使用:节省磁盘空间的包管理工具,使用的磁盘空间比 npm 和 yarn更少。
- 更好地支持 monorepos:pnpm 旨在与 monorepo 项目很好地配合使用,项目是在单个存储库中包含多个包或模块的项目,pnpm 独特的包管理方法可以更轻松地管理 monorepo 中多个包和模块的依赖关系。
- 更好地支持对等依赖:pnpm 比 npm 和 yarn对对等依赖有更好的支持。对等依赖项是包所需的依赖项,但不应与包一起安装,因为它们已由应用程序或其他依赖项提供。 pnpm 可以比 npm和 yarn 更高效、更准确地处理对等依赖。
- 更清晰的依赖树:pnpm 生成比 npm 和 yarn 更清晰的依赖树,平面目录结构,而 npm 和yarn 使用嵌套目录。扁平结构使得依赖树更容易理解和调试。
劣势
- 可能会遇到某些包或工具的兼容性问题。
安装
npm install pnpm -g
指令
pnpm install 包名
pnpm i 包名
pnpm add 包名 // -S 默认写入dependencies
pnpm add -D // -D devDependencies
pnpm add -g // 全局安装
pnpm remove 包名 // 移除
pnpm up // 更新所有依赖项
pnpm upgrade 包 // 更新包
pnpm upgrade 包 --global // 更新全局包
提取顶层文件
将依赖中的公共包资源进行提取;
创建 .npmrc
shamefully-hoist=true
pnpm i
镜像
查看镜像源
npm config get registry
yarn config get registry
pnpm config get registry
全局设置镜像源 npmmirror.com/
npm config set registry https://registry.npmmirror.com
yarn config set registry https://registry.npmmirror.com
yarn config set registry https://registry.yarnpkg.com
pnpm config set registry https://registry.npmmirror.com
局部配置-项目根目录中新建 .npmrc或.yarnrc 文件
registry=https://https://registry.npmmirror.com
registry=https://https://registry.npmmirror.com
淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
nrm
npm install -g nrm # 安装:
nrm --version / -v # 查看版本
nrm use <registry> # 切换镜像
nrm add <registry> <url> # 添加镜像:
nrm del <registry> # 删除镜像
nrm test 镜像名称 # 测速
私有包发布
1. 准备工作
确保你的项目满足以下条件: 已经安装了 Node.js 和 NPM。如果还没有安装,请访问 Node.js 官网,下载并安装。 项目有一个 package.json 文件。 如果没有,你可以通过运行 npm init 来创建一个。 最后,创建 README、设置 package.json script 命令;
npm init
name:包名(小写英文 + 短横线)
version:版本
main:入口文件
script:运行脚本
author:作者
description:描述
keywords:关键字
github:关联 github 地址
license:MIT 开源 ISC 不开源
2. 更新 package.json 文件
确保你的 package.json 文件包含以下信息:
name :包名,确保是全局唯一的(小写的英文 + 短横线), eg: @vue/use, @vue/core。
version :当前包版本,遵循 Semantic Versioning 规范。
main :包的入口文件。
scripts :包中可执行的脚本。
dependencies 和 devDependencies :包所依赖的其他包。
例:
{
"name": "your-package-name",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {},
"devDependencies": {}
}
3. 创建 .npmignore 文件
创建一个 .npmignore 文件来排除发布时不需要的文件。这类似于 .gitignore 文件。例如:
node_modules
*.log
*.swp
*.bak
4. 登录 NPM 账户
注册账号: www.npmjs.com/ 设置镜像源
npm config set registry https://registry.npmjs.org // 设置 npm 源
npm config get registry // 查看源
在终端中运行 npm login 命令,并输入你的 NPM 账户名、密码和邮箱; 如果还没有账户,可以通过运行 npm adduser 创建一个
npm login
5. 发布包
运行以下命令发布你的包到 NPM: npm publish 推送(+ 包名@版本号 发布成功) search 包名 查看发布情况 撤销命令(避免发布垃圾包):npm unpublish 包名@版本号 -f
npm publish
发布成功后,你会在终端看到类似的输出信息:
+ your-package-name@1.0.0
6. 确认发布
登录 NPM 官网,进入你的个人主页,查看已发布的包。
7. 更新和维护
当你的包需要更新时,确保按照 Semantic Versioning 规范更新 package.json 文件中的版本号; 然后重新执行 npm publish 命令发布新版本。 完成以上步骤后,你的包就成功发布到了 NPM; 现在其他开发者可以通过 npm install yourpackage-name 命令安装你的包