【Node.js】知识梳理:包管理器(npm/yarn)

npm

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的问题,常见的使用场景有以下:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

npm常用的命令cli

1. npm install <name> /npm install <name>  :下载后的包放在当前路径下面
2. npm install <name> -g  //-g 将包安装到全局环境中
3. npm install <name> --save //    --save是指下载的包的信息写入package.json中
4. npm uninstall <name> --save// 删除下载的包并且删除package.json中的dependencies配置
5. npm update <name> // 更新本地包
6. npm outdated // 查询包是否过时
7. npm rebuild <name>//更改模块内容再重建
8. npm view <name>//查看node模块的package.json文件夹 查看package.json文件夹中某个标签,$npm view mouleNames lableName
9. npm update <name> // 更新包
10. npm list //查看安装的模块,搜索是从代码执行的当前目录开始的,搜索结果取决于当前使用的目录中的node_modules下的内容
11. npm init:会引导创建一个package.json文件,包括名称、版本、作者这些信息等
12. npm root:查看当前包的安装路径 npm root -g:查看全局的包的安装路径
13. npm -v:查看npm安装的版本
14. npm info <name> // 查看所有可以下载包的版本
15. npm publish  // 发布包
16. npm bin [] // 列出 npm 安装可执行文件的文件夹
复制代码

–save-dev 和 –save 的区别

npm install 在安装 npm 包时,有两种命令参数可以把它们的信息写入 package.json 文件,一个是npm install–save(-S),另一个是 npm install –save-dev(-D)。

–save 会把依赖包名称添加到 package.json 文件 dependencies 键下,dependencies是运行时依赖。

–save-dev 则添加到 package.json 文件 devDependencies 键下,devDependencies是开发时依赖。

{
 "dependencies": {
    "vue": "^2.2.1"
  },
  "devDependencies": {
    "babel-core": "^6.0.0",
    "babel-loader": "^6.0.0",
  }
}
复制代码

cnpm(淘宝镜像)

  • 将npm上的包同步更新到淘宝镜像上,目前是每10分钟同步一次。
  • 配置:npm install -g cnpm –registry=registry.npm.taobao.org
  • 常用命令:使用 cnpm 代替 npm 即可
  • 问题:会多下载一些文件/文件夹严重者会导致 webstorm 瘫痪,就像帕金森综合征
  • 解决上述问题的办法(修改 npm 的下载指向地址):npm config set registry “registry.npm.taobao.org

yarn

  • Yarn 同样是一个从 npm 注册源获取模块的新的 CLI 客户端。

  • Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。它的目的是解决这些团队使用 npm 面临的少数问题,即:

    安装的时候无法保证速度/一致性;npm 安装时允许运行代码的安全问题。

yarn的命令cli

yarn init :初始化新项目
yarn install/ yarn :安装所有的依赖包 ( 依照 package.json 文件列出的依赖安装)
yarn add [package]@version :添加依赖包//不带-D默认生产环境
//Yarn 的-dev 则等同于 npm 的 --save-dev
yarn remove [package]: 删除依赖包
yarn publish: 发布包
yarn bin: 列出 yarn 安装可执行文件的文件夹
yarn ls: 安装包列表
yarn upgrade: 这条命令将根据 package.json 将 package 升级到最新版本,并更新 yarn.lock
yarn licenses ls:列出已安装包的许可证
yarn run [script] [-- <args>]: 运行已定义的包脚本
yarn why <query>:解释为什么安装了某个包
yarn info <package> [<field>]:显示关于包的信息
yarn clean: 清除并删除包依赖项中不必要的文件
yarn check: 校验当前项目的 package.json 文件里的依赖版本和 yarn 的 lock 文件中列出的版本是否匹配
yarn licenses: 罗列出所有被安装的 package 所持有的执照情况
复制代码

cyarn

  • 使用淘宝镜像,更快
  • 配置:npm install cyarn -g –registry “registry.npm.taobao.org
  • 常用命令:将 yarn 使用cyarn代替即可

yarn相比npm的优势

  • 安装更快,并行安装,Yarn 缓存了每个下载过的包
  • 有yarn.lock
  • 清晰输出
  • 更语义化命令
  • 更安全,通过算法校验每个安装包的完整性
  • 更可靠,Yarn 能够保证在不同系统上无差异的工作

npm和yarn常用命令对比

功能 npm yarn
初始化新项目 npm init yarn init
安装所有依赖 npm install yarn/yarn install
添加运行依赖 npm install @angular-cli –save yarn add @angular-cli
移除依赖 npm uninstall @angular-cli –save yarn remove @angular-cli
添加开发依赖 npm install @angular-cli –save-dev yarn add @angular-cli –dev
更新依赖 npm update –save yarn upgrade
添加全局依赖 npm install -g @angular-cli –save yarn global @angular-cli
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享