当前位置: 首页 > article >正文

npm包管理工具

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

npm常见命令

# 项目开发相关
npm init  			# 在项目根目录下,创建一个 package.json 文件,需要填写一些内容
npm init -y   			# 在 package.json 文件中全部使用默认选项

npm install <packageName> 	# 安装 项目内部局部包,项目开发依赖包
npm install -g  <packageName> 	# 安装 本地全局环境包,多为 命令行程序

npm update <packageName> 	# 对项目内单个依赖包升级
npm update -g <packageName>     # 更新全局的软件包
npm install -g npm to update    # 更新升级npm
npm -g outdated 		# 使用此命令可以查看哪些包有更新

npm uninstall <packageName>  	# 卸载本地(local)软件包
npm uninstall -g <packageName>  # 卸载全局(global)软件包

npm list 			# 查看本地(local)软件包列表
npm list -g 			# 查看系统中全局安装过的软件包

npm config list  # 显示npm相关信息

# npm 发包相关
npm adduser  			# 创建一个 npm 账号(Username,Password,Email)
npm login			# 登录 npm 仓库账号(Username,Password)
npm publish  			# 发布自己的包到 npm,或者 更新已有的 npm 包
npm link			# 将本地开发包挂载到全局环境,可作为全局命令使用

npm常见参数

-g, --global:安装全局依赖,如果没有指定依赖包名,则将当前目录中的包安装至全局

-S, --save:安装依赖的同时将该依赖写入 dependencies

-D, –-save-dev:安装依赖的同时将该依赖写入 devDependencies

-O, --save-optional:安装依赖的同时将该依赖写入 optionalDependencies

-E, --save-exact:写入 package.json 时带有确切版本号

–no-optional:不安装 optional dependencies,可继承

dependencies是运行时依赖,发布后,发布后即生产环境还需要用的依赖

devDependencies是开发时依赖,发布时不需要使用。比如测试工具、代码检查。

默认情况下同时安装

package.json

package.json用来描述项目于信息及项目中所依赖的信息模块

package.json 配置文件中常见的字段:

name:包的名称。必填。

version:包的版本号。必填。

description:包的描述信息。

keywords:包的关键字。其他人可以通过关键字搜索到对应的包。

author:作者(项目开源发布时使用)。

license:开源协议(项目开源发布时使用)。

private:记录当前包是否是私有的。当属性值为 true 时,npm 是无法发布该包的,这是为了防止私有的包被发布出去。

main:指定包的入口文件。

scripts:用于配置一些脚本命令,以 key/value 的形式。配置后就可以通过 npm run key命令 来运行后面配置的 value 脚本。

依赖包符号的含义

~会匹配最近的小版本依赖包,比如 ~1.2.3 会匹配所有 1.2.x 版本,但是不包括 1.3.0

^会匹配最新的大版本依赖包,比如 ^1.2.3 会匹配所有 1.x.x 的包,包括 1.3.0,但是不包括 2.0.0

*安装最新版本的依赖包,比如 *1.2.3 会匹配 x.x.x

"dependencies": {
	"md5": "^2.1.0" # ^ 表示如果直接npm install 将会安装  md5  2.*.*的最新版本
}
"dependencies": {
	"md5": "~2.1.0"	# ~ 表示如果直接npm install 将会安装 md5 2.1.* 的最新版本
}
"dependencies": { 
	"md5": "*"      # * 表示如果直接npm install 将会直接安装 md5的最新版本
}

package-lock.json

package.jsondependenciesdevDependencies只单纯记录本项目中的的依赖,无法保证依赖环境的一致。所以,在npmV5版本引入package-lock.json解决多人开发安装的依赖版本不一样的问题。

package-lock.json保证依赖树版本的锁定。package-lock.json精准记录并锁定版本号及其子版本号。

npx

临时下载软件包执行完成后删除

有些命令的软件包我们使用频率并不高,比如create-react-app脚手架工具,我们可以临时下载,创建后删除,就不会占用磁盘空间

npx create-react-app react-test


http://www.kler.cn/news/310006.html

相关文章:

  • UGit:腾讯自研的Git客户端新宠
  • Spring如何处理线程并发问题?
  • 传输层协议 —— UDP协议
  • LXDE lxpanel桌面环境中打开一个终端窗口 lxterminal
  • PHP 中传值与传引用的区别
  • 线程有哪几种状态?
  • web杂项
  • 腾讯云技术深度探索:构建高效云原生微服务架构
  • Java Stream API | Java Stream API 中 `filter()`的使用
  • TCP/IP Socket用于测试免费使用的服务器端
  • window下idea中scala的配置
  • web基础—dvwa靶场(五)File Upload
  • HarmonyOS开发之自定义构建函数
  • gi清除无用缓存
  • 【Elasticsearch系列】Elasticsearch中的分页
  • Python用TOPSIS熵权法重构粮食系统及期刊指标权重多属性决策MCDM研究|附数据代码
  • 利用物化视图刷新同步表记录(2-rowid)
  • 828华为云征文|Flexus云服务器X实例部署宝塔运维面板
  • 大数据处理技术:分布式文件系统HDFS
  • 基础漏洞——SQL注入原理和利用
  • 职业院校数据科学与大数据技术专业人工智能实训室建设方案
  • 【Linux篇】TCP/IP协议(笔记)
  • 深入探索Go语言中的函数:匿名函数、指针参数与函数返回
  • vue3中如何拿到vue2中的this
  • 嵌入式epoll面试题面试题及参考答案
  • 金蝶SHR,在列表对某个金额字段汇总展示的需求
  • 英特尔剥离芯片代工业务 与亚马逊达成重要合作
  • 五大注入攻击网络安全类型介绍
  • AutoSar AP 面向服务通信的提供者和消费者“连接”的方法
  • VUE实现刻度尺进度条