npm/yarn nodejs包管理工具
1 NPM包管理工具
npm是nodejs包管理工具
安装
安装nodejs即可,自带npm工具,无需单独安装,安装nodejs百度一下,安装完后检查一下是否成功安装:node -v && npm -v
更新全局npm到最新版本:npm install npm@latest -g
npm官方文档:https://www.npmjs.cn/
npm自定义文件路径:
-
修改npm缓存目录和全局安装目录:
D盘node目录下创建两个目录,分别是node_cache和node_global,这是用来放安装过程的缓存文件以及最终的模块配置位置,执行下面这两个命令
npm config set prefix “D:\Program Files\node\node_global” npm config set cache “D:\Program Files\node\node_cache”
-
配置npm和nodejs环境变量
变量名填:NODE_PATH
变量值填:D:\Program Files\node\node_modules\
;D:\ProgramFiles\node\node_global\
npm安装模块
#全局安装,简写-g
npm install 模块名 -g
#本地安装运行时依赖包
npm install 模块名
#本地安装运行时依赖包,简写-S
npm install 模块名 --save
#本地一次性安装多个
npm install 模块名 模块名
#本地安装开发时依赖包,简写-D
npm install 模块名 --save-dev
npm更新模块
#检查包是否已经过时
npm outdated
#更新node模块
npm update 模块名
#更新全局node模块
npm update 模块名 -g
#更新到指定版本
npm update 模块名@版本号
#更新到最新版本
npm update 模块名@latest
npm卸载模块
#卸载本地node模块
npm uninstall 模块名
#卸载全局模块
npm uninstall 模块名 -g
npm查看模块
#查看帮助命令
npm help
#查看某个包对于各种包的依赖关系
npm view 模块名 dependencies
#查看包的源文件地址
npm view 模块名 repository.url
#查看当前模块依赖的node最低版本号
npm view 模块名 engines
#查看模块的当前版本号
npm view 模块名 version
#查看模块的历史版本和当前版本
npm view 模块名 versions
#查看一个模块的所有信息
npm view 模块名
#查看当前已经安装的模块
npm list
#限制输入的模块层级
npm list --depth=0
npm list 模块名
#查看全局的包的安装路径
npm root -g
npm不常用功能
#更改包内容后进行重建
npm rebuild 模块名
#访问package.json的字段文档
npm help json
#查看某个模块的bugs列表界面
npm bugs 模块名
#打开某个模块的仓库界面
npm repo 模块名
#打开某个模块的文档
npm docs 模块名
#打开某个模块的主页
npm home 模块名
#清除未被使用到的模块
npm prune
注意:默认情况下,当用–save或者–save-dev安装一个模块时,npm通过脱字符(^)来限定所安装模块的主版本号,而该脱字符对于不同的版本号有不同的更新机制:
- ^1.2.1 代表的更新版本范围为 >=1.2.1 && < 2.0.0
- ^0.2.1 代表的更新版本范围为 >=0.2.1 && <0.3.0
- ^0.0.2 代表的更新版本范围为 0.0.2
2 package.json
该文件配置了项目各项依赖关系,在项目初始化时使用npm install
来安装所有依赖(或者yarn
)
该文件必须有的属性:name 必须全小写,无空格,可以使用-和_,version格式为:x.x.x
{
"name": "my-awesome-package", "version": "1.0.0"
}
创建package.json
-
方法一:npm init
全程手动设置
-
方法二:npm init --yes
全部采用默认设置
可以更改默认设置属性:
> npm set init.author.email "wombat@npmjs.com"
> npm set init.author.name "ag_dubs"
> npm set init.license "MIT"
指定依赖:
- dependencies 生产依赖
- devDependencies 开发测试依赖
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"react-dom": "^16.12.0",
"react": "^16.12.0"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
3 yarn包管理工具
yarn的用法和npm差不多,yarn --version
可以查看版本
yarn init
初始化一个新项目,生成package.json
yarn add
对当前项目安装新的包,可以指定版本,默认会将依赖添加到package.json中
# 默认安装最新版本,可以安装多个包,用空格隔开
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
# 在devDependencies中安装依赖-D或--dev
yarn add -D 包
# 全局安装包,安装在系统全局目录下,不会在项目中
yarn add global 包
yarn install
安装package.json中的所有依赖,yarn等同于yarn install,同时会自动生成yarn.lock
yarn upgrade
更新包到指定版本或最新版本
yarn upgrade 包@版本号
yarn upgrade --latest 包
yarn remove
删除包,可以一次删除多个包
yarn remove 包
yarn remove 包1 包2 包3
yarn run
运行package.json中定义的脚本
# 会执行package.json中定义好的脚本xxx
yarn run 脚本xxx 参数
配置安装源到淘宝
yarn config set registry http://registry.npm.taobao.org
注意:yarn安装包后会产生一个yarn.lock文件,该文件用于记录当前所有安装的依赖版本号和地址,可以方便的快速部署。yarn.lock应该git跟踪!
yarn.loc官方说明
为了跨机器安装得到一致的结果,Yarn 需要比你配置在 package.json 中的依赖列表更多的信息。 Yarn 需要准确存储每个安装的依赖是哪个版本。
为了做到这样,Yarn 使用一个你项目根目录里的 yarn.lock 文件。这可以媲美其他像 Bundler 或 Cargo 这样的包管理器的 lockfiles。它类似于 npm 的 npm-shrinkwrap.json,然而他并不是有损的并且它能创建可重现的结果。
4 更改依赖包全局下载的缓存路径
1、在 D盘新建一个目录,用来存放 npm 或 yarn 的 cache 和 依赖包文件
新建的文件夹如下:
D:\node_package\npm
D:\node_package\npm_cache
D:\node_package\yarn
D:\node_package\yarn_cache
更改npm和yarn的配置:
# npm
npm config set prefix "D:\node_package\npm"
npm config set cache "D:\node_package\npm_cache"
# yarn
yarn config set global-folder "D:\node_package\yarn"
yarn config set cache-folder "D:\node_package\yarn_cache"
查看配置:
# npm
npm config list
# yarn
yarn config list
为了让安装的包,能在控制台使用,需要配置 Path 环境变量
1)新建 NODE_PATH 环境变量
2)在 Path 中添加如下路径
%NODE_HOME%\npm
%NODE_HOME%\yarn\node_modules\.bin
详情参考:https://www.cnblogs.com/lkc9/p/12538973.html