node包管理器

包管理器

常见的包管理器有npm npx cnpm yarn cyarn pnpm

npm

npm(全称Node Package Manager,即node包管理器)是node.js默认的,以JavaScript编写的软件包管理系统。

npm 的背后,是基于 couchdb 的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发

官网:npm | Home

官方文档:npm Docs

1.如何安装npm

npm会随着node.js自动安装,安装完毕node.js后会自动安装npm

npm所有的命令行

npm - npm 中文文档

查看当前npm版本:

npm -v  或者 npm -version

更新npm :

npm install npm@latest -g

2. 初始化项目

npm init

初始化项目的package.json文件

npm init -y  或者 npm init -yes

当使用npm init -y的时候,如果当前文件夹(目录)的名字比较怪(有大写、有中文等)就会影响npm init -y的一步生成操作,此时需要npm init根据向导一步一步来生成,故而文件夹(项目)起名字时不要有大写字符、中文等。

2.1 package.json

package.json称为包描述文件或者项目描述文件,描述包的相关信息,它是一个JSON格式的文件,以供外部读取,npm init后自动生成。

包含以下字段:

name、version、description、keywords、maintainers、contributors、bugs、licenses、repositories、dependencies、homepage、os、cpu、engine、builtin、directories、implements、scripts、author、bin、main、devDependencies。
  • name 包的名字(必有)

  • version 包的版本(必有)

  • description 包描述

  • author 包的作者

  • main 包的入口js文件,从main字段这里指定的那个js文件开始执行(必有)

  • dependencies 当前包依赖的其他包 生产依赖

  • devDependencies 当前包依赖的其他包 开发依赖

2.2 package-lock.json

npm 5.0以上版本才有package-lock.json文件,作用是使npm下载加速,借鉴了yarn的yarn.lock

当下载包时自动生成package-lock.json

package-lock.json可以记录整个node-modules中文件夹的树状结构,再次下载的时候不用去先去读取包与包之间相关依赖,直接下载,速度较快。

扩展:

模块(Modules)和包(packages)的区别

  1. 模块可以是任何一个文件或者目录(目录下可以有很多个文件),只要能被引用即可

  2. 包是一个文件或者目录(目录下可以有多个文件)必须有一个package.json文件来描述,就可以是一个包。

3. npm使用

npm -v 查看 npm 的版本
npm version 查看 npm 和 node 的版本
npm list -g 查看全局安裝的包
​

3.1 本地安装

  • 在npm官网找到需要的包

  • 在项目的根目录下安装

    npm install / i 包名

    默认将其安装到生产依赖中

    • 将包安装到生产依赖dependencies(上线后需要的依赖)

      npm install / i 包名 --save  或者  npm install 包名 -S 
    • 将包安装到开发依赖devDependencies(写代码的时候需要的依赖)

      npm install / i 包名 --save-dev 或者  npm install module_name -D
  • npm i

    npm i/install

    安装package.json中的所有有记录的包(即项目中的所有的依赖)。

扩展:

包安装完毕使用:

在node.js中通过require('包名')来加载该模块

在es6中用过 import(‘包名’)来加载该模块

3.2 全局安装

npm install / i 包名 -g

全局安装(全局安装都是安装一些工具类的包),安装的包可以当做命令行来使用。

3.3 删除清缓存命令

  • 删除指定包

    npm remove / r 包名
  • 卸载指定包

    npm uninstall 包名
  • 清缓存

    npm cache clean --force

    若是下载包报错 说有一个完成的程序一直在运行中,请使用上面代码清除缓存

注意:

当需要终止包的下载时,使用ctrl+C进行终止

3.4 查看设置当前npm仓库地址

npm config get registry 查看当前 npm 仓库地址命令
npm config set registry http://registry.npmmirror.com   设置npm仓库地址为淘宝镜像源
依然用 npm 命令,但是实际是从淘宝国内服务器下载的,如果需要恢复成原来的官方地址只需要执行如下命令:npm config set registry https://registry.npmjs.org
​

注:http://npm.taobao.orghttp://registry.npm.taobao.org 已在 2022.06.30 号正式下线和停止 DNS 解析。新域名为 npmmirror.com即

http://npm.taobao.org => npmmirror 镜像站 http://registry.npm.taobao.org => http://registry.npmmirror.com

3.5 发布包

1

通过npm login登录npm账户输入用户名、密码、邮箱、otp(发往邮箱的一次性密码),成功登录npm官网

注意:当前的npm不能是镜像需要时npm仓库,仓库切换可以使用nrm也可使用代码进行切换通过上面的代码

通过npm publish发布仓库

npx

npm 从5.25.2 版开始,增加了 npx 命令,npx 是一个由 Node.js 官方提供的用于快速执行 npm 包中的可执行文件的工具。它可以帮助我们在不全局安装某些包的情况下,直接运行该包提供的命令行工具。npx 会在执行时,检查本地项目中是否安装了对应的依赖,如果没有安装则会自动下载安装,并执行命令。如果本地已经存在该依赖,则直接执行命令。

npx 不会像 npm 或 yarn 一样将包下载到本地的 node_modules 目录中。相反,它会在执行命令时,在本地缓存中寻找并下载包,然后执行该包中的命令,执行完毕后会将这些包删除。这样可以避免在开发过程中在全局安装大量的包,同时也可以确保使用的是最新版本的包。

参数:

--no-install使用本地模块,不下载远程模块
--ignore-existing 忽略本地的同名模块,强制安装使用远程模块
-p 参数用于指定 npx 所要安装的模块版本。
​
npx --ignore-existing create-react-app my-react-app

cnpm

cnpm是淘宝对国外npm服务器的一个完整镜像版本,也就是*淘宝 NPM 镜像*

1. cnpm的安装

npm config set registry https://registry.npmjs.org

2. CNPM的使用

cnpm和npm的使用基本没有区别,只需要将npm替换成cnpm

yarn

yarn是Facebook开源的新的包管理器,可以用来代替npm。

1. yarn的特点

有缓存。

没有自己的仓库地址,使用的是npm仓库地址。

2. yarn的安装

npm install yarn -g

3. yarn的常用命令

  • 查看版本号

    yarn --version
  • 生成package.json !!!注意生成的包名不能有中文,大写

    yarn init
  • 全局安装

    yarn add global 包名
  • 局部安装

    yarn add 包名
  • 安装开发依赖

    yarn add 包名 --dev (相当于npm中的--save-dev)
  • 删除包

    yarn remove 包名
  • 列出已安装的包名

    yarn list 
  • 获取包的有关信息

    yarn info 包名
  • 下载package.json 中的所有包

    yarn 或 yarn install

4. 配置yarn仓库源

配置源。yarn默认的源地址:https://registry.yarnpkg.com ,如果下载太慢,可以修改源
查看镜像源:yarn config get registry
绑定镜像源:yarn config set registry https://registry.npmmirror.com
删除镜像源(注意这里是 delete):yarn config delete registry

pnpm

pnpm 全称 performant npm,意思为 高性能的 npm。pnpm 由 npm/yarn 衍生而来,被誉为 最先进的包管理工具。

相对 npm 优势

包安装速度极快; 磁盘空间利用非常高效。 pnpm 分三个阶段执行安装:

依赖解析。 仓库中没有的依赖都被识别并获取到仓库。 目录结构计算。 node_modules 目录结构是根据依赖计算出来的。 链接依赖项。 所有以前安装过的依赖项都会直接从仓库中获取并链接到 node_modules。

1.安装

node尽量在18版本以上

npm install -g pnpm 全局安装pnpm

2.常用命令

pnpm add sax      保存到 dependencies
pnpm add -D sax   保存到 devDependencies
pnpm add -O sax   保存到 optionalDependencies
pnpm add -g sax   安装包到全局
​
npm 命令pnpm 等价命令
npm installpnpm install 安装全部依赖
npm install 包名pnpm add (-D) 包名 安装指定包
npm uninstall 包名pnpm remove 包名 移除指定包
npm run 脚本pnpm 脚本 运行脚本

刪除包pnpm remove 别名是 rm, uninstall, un

3.设置镜像源

pnpm config get registry    # 查看当前镜像源
pnpm config set registry https://registry.npmmirror.com    # 设置全局镜像源
npm install --registry https://registry.npmmirror.com      # 设置项目临时镜像源
​

nrm

nrm 用于管理镜像,是一个可以切换npm镜像的管理工具。

npm i -g nrm  下载nrm
nrm -V  查看nrm版本

nrm常见命令:

2.nrm

注:nrm ls中存储多个镜像文件路径,可以直接使用nrm use <name>切换镜像
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值