常见的包管理器有npm npx cnpm yarn cyarn pnpm
npm(全称Node Package Manager,即node包管理器)是node.js默认的,以JavaScript编写的软件包管理系统。
npm 的背后,是基于 couchdb 的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发
官网:npm | Home
官方文档:npm Docs
npm会随着node.js自动安装,安装完毕node.js后会自动安装npm
npm所有的命令行
npm - npm 中文文档
查看当前npm版本:
npm -v 或者 npm -version
更新npm :
npm install npm@latest -g
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)的区别
- 模块可以是任何一个文件或者目录(目录下可以有很多个文件),只要能被引用即可
- 包是一个文件或者目录(目录下可以有多个文件)必须有一个package.json文件来描述,就可以是一个包。
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
- 将包安装到生产依赖dependencies(上线后需要的依赖)
- 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.org 和 http://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 发布包
通过npm login登录npm账户输入用户名、密码、邮箱、otp(发往邮箱的一次性密码),成功登录npm官网
注意:当前的npm不能是镜像需要时npm仓库,仓库切换可以使用nrm也可使用代码进行切换通过上面的代码
通过npm publish发布仓库
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是淘宝对国外npm服务器的一个完整镜像版本,也就是*淘宝 NPM 镜像*
npm config set registry https://registry.npmjs.org
cnpm和npm的使用基本没有区别,只需要将npm替换成cnpm
yarn是Facebook开源的新的包管理器,可以用来代替npm。
有缓存。
没有自己的仓库地址,使用的是npm仓库地址。
npm install yarn -g
- 查看版本号
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
配置源。yarn默认的源地址:https://registry.yarnpkg.com ,如果下载太慢,可以修改源 查看镜像源:yarn config get registry 绑定镜像源:yarn config set registry https://registry.npmmirror.com 删除镜像源(注意这里是 delete):yarn config delete registry
pnpm 全称 performant npm,意思为 高性能的 npm。pnpm 由 npm/yarn 衍生而来,被誉为 最先进的包管理工具。
相对 npm 优势
包安装速度极快; 磁盘空间利用非常高效。 pnpm 分三个阶段执行安装:
依赖解析。 仓库中没有的依赖都被识别并获取到仓库。 目录结构计算。 node_modules 目录结构是根据依赖计算出来的。 链接依赖项。 所有以前安装过的依赖项都会直接从仓库中获取并链接到 node_modules。
node尽量在18版本以上
npm install -g pnpm 全局安装pnpm
pnpm add sax 保存到 dependencies pnpm add -D sax 保存到 devDependencies pnpm add -O sax 保存到 optionalDependencies pnpm add -g sax 安装包到全局
刪除包pnpm remove 别名是 rm, uninstall, un
pnpm config get registry # 查看当前镜像源 pnpm config set registry https://registry.npmmirror.com # 设置全局镜像源 npm install --registry https://registry.npmmirror.com # 设置项目临时镜像源
nrm 用于管理镜像,是一个可以切换npm镜像的管理工具。
npm i -g nrm 下载nrm nrm -V 查看nrm版本
nrm常见命令:
注:nrm ls中存储多个镜像文件路径,可以直接使用nrm use <name>切换镜像到此这篇node管理系统(node包管理工具)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-nodejs/71948.html