# node包管理器

npm是Node.js (opens new window)的软件包管理器 。它创建于2009年,是一个 开源项目, (opens new window)旨在帮助JavaScript开发人员轻松共享打包的代码模块。

既然是经常用的,那也整理整理👾(只列出常用的命令)。

# npm

官方指路:https://docs.npmjs.com/about-semantic-versioning (opens new window)

按官方来讲,版本号应该是:主版本号.次版本号.修订号

代码状态 阶段 规则 示例版本
初版 新产品 从1.0.0开始 1.0.0
向后兼容的错误修复 补丁发布 递增第三位数 1.0.1
向后兼容的新功能 轻微释放 递增中间数字并将最后一位重置为零 1.1.0
更改会破坏向后兼容性 主要发行 递增第一位并将中间和最后一位重置为零 2.0.0

# 常见的版本格式

官方指路:https://semver.npmjs.com/ (opens new window)

"1.2.3"

表示精确版本号。只匹配1.2.3的版本

"^1.2.3"

在相同的主要范围内包含比特定版本更大的所有内容

主版本号 不等于 0时,匹配 当前版本号 到该 主版本号 的最大的版本

主版本号 等于 0次版本号 不等于 0 时,匹配 当前版本号 到该 次版本号 的最大的版本

主版本号 等于0次版本号 等于 0修订号 不等于 0 时,匹配 当前版本号 到该 修订号 的最大的版本

"^1.2.3" 匹配 ">= 1.2.3 < 2.0.0"

"^0.2.3" 匹配 ">= 0.2.3 < 0.3.0"

"^0.0.3" 匹配 ">= 0.0.3 < 0.0.4"

"~1.2.3"

在同一较小范围内包含大于特定版本的所有内容

修订号 时,匹配 当前版本号 到该 修订号 最大版本

没有 修订号,有 次版本号 时,匹配 当前版本号 到该 次版本号 最大版本

没有 修订号,没有 次版本号,有 主版本号 时,匹配 当前版本号 到该 主版本号 最大版本

"~1.2.3" 匹配 ">= 1.2.3 < 1.3.0"

"~1.2" 匹配 ">= 1.2.0 < 1.3.0"

"~1" 匹配 ">= 1.0.0 < 2.0.0

# dependencies - 生产依赖

众所周知,生产环境需要的东西,你都需要装在这个选项里供生产环境使用。例如:vuevue-routervuex

官方指路:https://docs.npmjs.com/cli/install (opens new window)

安装

-P, --save-prod:包裹将出现在您的中dependencies。这是默认设置,除非-D-O存在。

npm install <package_name> // 既然是默认,那就没必要加参数了
// 等价于
npm i <package_name>

卸载

npm uninstall <package_name>
// 等价于
npm uni <package_name>

# devDependencies - 开发依赖

官方指路:https://docs.npmjs.com/cli/install (opens new window)

众所周知,只是开发环境需要的东西,你都应该装在这个选项里只供开发环境使用。例如:eslintsass

安装

-D, --save-dev:包裹将出现在您的中devDependencies

npm install <package_name> --save-dev
// 等价于
npm install <package_name> -D

卸载

npm uninstall <package_name> --save-dev
// 等价于
npm uni <package_name> -D

也许npm走的国外服务器,时不时会抽抽风下不动。那可以参数一下淘宝的cnpm...👇

# cnpm

官方指路:淘宝 NPM 镜像 (opens new window)

这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

# 安装/换源

npm install -g cnpm --registry=https://registry.npm.taobao.org

用法同上,但cnpm install <package_name>的时候,默认不会添加进dependencies - 生产依赖。需要使用cnpm install <package_name> -S

为什么是-S不是-P?我也不知道🙄。

也许你时常能听到,用cnpm的时候在某些情况下会出 bug(作者还没遇到过)。既然有可能,那就试试yarn...👇

# yarn

Yarn是您的代码的包管理器。它使您可以使用代码并与世界各地的其他开发人员共享代码。Yarn快速,安全且可靠地执行此操作,因此您不必担心。

在你使用的时候,你看着安装/卸载的进度条,你会感受到什么叫纵享丝滑

用法官网已经写得很清楚了,直接复制粘贴。

# 安装

官方指路:https://yarnpkg.com/getting-started/install (opens new window)

全局安装来一手

npm install -g yarn

# 访问命令列表

yarn help

# 开始一个新项目

yarn init

# 安装所有依赖项

yarn
yarn install

# 添加依赖项

yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]

# 将依赖项添加到不同类别的依赖项中

yarn add [package]  # dependencies
yarn add [package] -D # devDependencies

# 升级依赖

yarn up [package]
yarn up [package]@[version]
yarn up [package]@[tag]

# 删除依赖

yarn remove [package]

# 升级yarn

yarn set version latest
yarn set version from sources

# 总结

npm抽风的时候,可以使用yarn。当然最好是一直都用yarn

# npm常用命令

npm i  # 安装所有依赖项
npm i <package_name>  # 安装包 默认安装到 生产环境 dependencies中
npm uni <package_name>  # 卸载包
npm i <package_name> -D # 安装包到 开发环境 devDependencies中

# yarn常用命令

yarn  # 安装所有依赖项
yarn add <package_name>  # 安装包 默认安装到 生产环境 dependencies中
yarn remove <package_name>  # 卸载包
yarn add <package_name> -D # 安装包到 开发环境 devDependencies中
最后更新时间: 9/4/2020, 5:28:12 PM