美文网首页
nodejs包管理器 npm和yarn

nodejs包管理器 npm和yarn

作者: JX灬君 | 来源:发表于2021-06-26 13:16 被阅读0次

yarn的存在解决了npm的安装速度问题,提高了构建项目的速度,提高了安全性,提高了可靠性。所以yarn是一个用来管理nodejs包的更好选择。

npm介绍

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
允许用户从NPM服务器下载别人编写的第三方包到本地使用。
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

// 安装模块语法
$ npm install <Module Name>
// 安装模块实例(express为例)
$ npm install express
// 安装好之后,express包就放在了工程目录下的node_modules目录中,因此在代码中只需要通过require('express'),无需指定第三方包路径
var express = require('express');
// 全局安装与本地安装
npm install express          # 本地安装
npm install express -g   # 全局安装
// 如果出现以下错误:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087 
// 解决办法为:
npm config set proxy null
// 本地安装
1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
2. 可以通过 require() 来引入本地安装的包。
// 全局安装
1. 将安装包放在 /usr/local 下或者你 node 的安装目录。
2. 可以直接在命令行里使用。
// 如果希望具备两者功能,则需要在两个地方安装它或使用 npm link。
// 接下来我们使用全局方式安装 express
$ npm install express -g
// 安装过程输出如下内容,第一行输出了模块的版本号及安装位置。
express@4.13.3 node_modules/express
├── escape-html@1.0.2
├── range-parser@1.0.2
├── merge-descriptors@1.0.0
├── array-flatten@1.1.1
├── cookie@0.1.3
├── utils-merge@1.0.0
├── parseurl@1.3.0
├── cookie-signature@1.0.6
├── methods@1.1.1
├── fresh@0.3.0
├── vary@1.0.1
├── path-to-regexp@0.1.7
├── content-type@1.0.1
├── etag@1.7.0
├── serve-static@1.10.0
├── content-disposition@0.5.0
├── depd@1.0.1
├── qs@4.0.0
├── finalhandler@0.4.0 (unpipe@1.0.0)
├── on-finished@2.3.0 (ee-first@1.1.1)
├── proxy-addr@1.0.8 (forwarded@0.1.0, ipaddr.js@1.0.1)
├── debug@2.2.0 (ms@0.7.1)
├── type-is@1.6.8 (media-typer@0.3.0, mime-types@2.1.6)
├── accepts@1.2.12 (negotiator@0.5.3, mime-types@2.1.6)
└── send@0.13.0 (destroy@1.0.3, statuses@1.2.1, ms@0.7.1, mime@1.3.4, http-errors@1.3.1)
// 查看安装信息
// 你可以使用以下命令来查看所有全局安装的模块:
$ npm list -g

├─┬ cnpm@4.3.2
│ ├── auto-correct@1.0.0
│ ├── bagpipe@0.3.5
│ ├── colors@1.1.2
│ ├─┬ commander@2.9.0
│ │ └── graceful-readlink@1.0.1
│ ├─┬ cross-spawn@0.2.9
│ │ └── lru-cache@2.7.3

// 如果要查看某个模块的版本号,可以使用命令如下:
$ npm list grunt

projectName@projectVersion /path/to/project/folder
└── grunt@0.4.1
// 使用 package.json
// package.json 位于模块的目录下,用于定义包的属性。接下来让我们来看下 express 包的 package.json 文件,位于 node_modules/express/package.json 内容:
// Package.json 属性说明
name - 包名。
version - 包的版本号。
description - 包的描述。
homepage - 包的官网 url 。
author - 包的作者姓名。
contributors - 包的其他贡献者姓名。
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
keywords - 关键字

// 卸载模块
$ npm uninstall express
// 卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看:
$ npm ls

// 更新模块
$ npm update express

// 搜索模块
$ npm search express

// 创建模块 
$ npm init

//在 npm 资源库中注册用户(使用邮箱注册):
$ npm adduser
Username: mcmohd
Password:
Email: (this IS public) mcmohd@gmail.com
// 注册完后可以来发布模块
$ npm publish

// 使用淘宝 NPM 镜像
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
// 这样就可以使用 cnpm 命令来安装模块了:
$ cnpm install [name]

yarn介绍

Yarn 是一个由 Facebook 贡献的 Javascript 包管理器。
速度超快。
Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
超级安全。
在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
超级可靠。
使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。

// 初始化一个新项目
yarn init
// 添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
// 将依赖项添加到不同依赖项类别中
// 分别添加到 devDependencies、peerDependencies 和 optionalDependencies 类别中:
yarn add [package] --dev
yarn add [package] --peer
yarn add [package] --optional
// 升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
// 移除依赖包
yarn remove [package]
// 安装项目的全部依赖
yarn
or yarn install

比较可以看出,npm的所有功能yarn都能实现。而且npm的一些历史遗留问题,比如安装速度,安全问题,都因为yarn的存在得到很好的解决。

相关文章

  • nodejs包管理器 npm和yarn

    yarn的存在解决了npm的安装速度问题,提高了构建项目的速度,提高了安全性,提高了可靠性。所以yarn是一个用来...

  • npm cnpm的区别

    npm ( node package manager ) 是nodejs 的包管理器,用于node插件管理 ( 包...

  • Nodejs学习笔记(四)

    NPM NPM: NodeJs Package Manager。NodeJs的包管理器可以通过NPM安装各种Js的...

  • nodejs基础2-node.js处理POST文件数据

    package.json:写脚本,声明依赖 包管理器: npm/cnpm yarn: npm i yarn -gy...

  • yarn使用方法

    Yarn 和npm一样,也是一个nodejs包管理器, 你可以通过它使用全世界开发者的代码, 或者分享自己的代码。...

  • vue环境安装

    更新Ubuntu软件源 安装node.js、npm 更新npm包镜像源 全局安装n管理器,用于管理nodejs版本...

  • yarn 安装

    什么是yarn 一种类似npm的 Node的模块管理器,从使用上来看,npm和yarn几乎相同,yarn 同样是一...

  • Linux更新node和npm到最新版

    输入命令更新源 安装nodejs 安装npm 然后测试nodejs的版本和包管理器npm的版本node -v、np...

  • ubuntu16.04 TLS nuxt + nginx 部署服

    一、安装node、npm 二、更新npm的包镜像 三、安装n管理器(用于管理nodejs版本) 重启一下终端,no...

  • windows下找不到yarn命令

    确保nodejs和npm已安装,如下命令查看 确保yarn的已全局install 查看npm prefix的路径,...

网友评论

      本文标题:nodejs包管理器 npm和yarn

      本文链接:https://www.haomeiwen.com/subject/mwczyltx.html