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

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.mrgr.cn/news/29825.html

相关文章:

  • Window下PHP安装最新sg11(php5.3-php8.3)
  • Elasticsearch 实战应用:高效搜索与数据分析
  • SCUI Admin + Laravel 整合
  • Rocky linux8 安装php8.0
  • C# Winform--SerialPort串口通讯(ASCII码发送)
  • wordpress站外调用指定ID分类下的推荐内容
  • python运行时错误:找不到fbgemm.dll
  • 828华为云征文|Flexus云服务器X实例部署宝塔运维面板
  • 【kafka-03】springboot整合kafka以及核心参数详解
  • C++——求3个数中最大的数(分别考虑整数、双精度数、长整数数的情况),用函数重载方法。
  • leetcode01——27. 移除元素(双指针)、977. 有序数组的平方(双指针)、209. 长度最小的子数组(双指针/滑动窗口)
  • WINDOWS AGENTARENA:EVALUATING MULTI-MODAL OS AGENTS AT SCALE论文学习
  • 2-98 基于matlab的苹果特征检测
  • 镀金引线---
  • 程序员修炼之道 11:当你编码时
  • Java-获取对象字段名并遍历处理
  • Golang开发的OCR-身份证号码识别(不依赖第三方)
  • AUTOSAR_EXP_ARAComAPI的5章笔记(5)
  • Jetbrains开发工具使用通义灵码
  • Android 15 正式发布至 AOSP
  • Docker Registry API best practice 【Docker Registry API 最佳实践】
  • 算法笔记/USACO Guide GOLD金组DP 3. Paths on Grids
  • [SIGGRAPH-24] CharacterGen
  • easy_cloudantivirus
  • 《微处理器系统原理与应用设计第十三讲》通用同/异步收发器USART轮询模式应用设计
  • 算法之搜索--最长公共子序列LCS