当前位置:网站首页>npm常用命令
npm常用命令
2022-06-29 08:24:00 【CamilleZJ】
npm的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。(安装node就可以使用了)
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 - 关键字
bugs:bug提交地址
license:证书
scripts:脚本
dependencies:生产环境依赖包
devDependencies:本地开发环境以来的包
其中name和version是必须的,且发布包时name是唯一的,已经发布了同名的就不能再发布,同名库只能更新版本
语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。
- 如果只是修复bug,需要更新Z位。
- 如果是新增了功能,但是向下兼容,需要更新Y位。
- 如果有大变动,向下不兼容,需要更新X位。
npx
npm 从5.2版开始,增加了 npx 命令。
Node 自带 npm 模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下。
npm install -g npx调用项目安装的模块
npx 想要解决的主要问题,就是调用项目内部安装的模块。比如,项目内部安装了测试工具 Mocha。
npm install -D mocha一般来说,调用 Mocha ,只能在项目脚本和 package.json 的scripts字段里面, 如果想在命令行下调用,必须像下面这样。
# 项目的根目录下执行
node-modules/.bin/mocha --versionnpx 就是想解决这个问题,让项目内部安装的模块用起来更方便,只要像下面这样调用就行了。
npx mocha --versionnpx 的原理很简单,就是运行的时候,会到node_modules/.bin路径和环境变量$PATH里面,检查命令是否存在。--不存在先安装在调用
由于 npx 会检查环境变量$PATH,所以系统命令也可以调用。
# 等同于 ls
npx ls注意,Bash 内置的命令不在$PATH里面,所以不能用。比如,cd是 Bash 命令,因此就不能用npx cd。
一、npm版本管理
查看版本
npm -v更新版本
$ sudo npm install npm -g
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
[email protected] /usr/local/lib/node_modules/npm
// Window 系统使用以下命令即可:
npm install npm -g二、初始化、查找、安装、更新、卸载、发布Node模块
本地安装
- 1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
- 2. 可以通过 require() 来引入本地安装的包。
全局安装
- 1. 将安装包放在 /usr/local 下或者你 node 的安装目录。
- 2. 可以直接在命令行里使用。
如果希望具备两者功能,则需要在两个地方安装它或使用 npm link。
简写命令说明:
- -g:全局安装(global),-g 或 --global,不设置本地安装(local)
- --save:或-S,安装包信息将加入到package.json中的dependencies(生产阶段的依赖)
- --save-dev:或D,安装包信息将加入到package.json中的devDependencies(开发阶段的依赖,即上线后不会使用的依赖)
- -i:install
1、项目初始化
npm init //根据提示会输入或选择一些信息,来完善package.json中的字段信息
npm init -y //默认生成package.json,不需要用户来选择或输入
init后项目中会生成package.json文件
2、安装(i)
npm install [<package_name>][@<version>] [-g] [--save][-dev]
eg:
npm install gulp
npm install gulp -g
npm install [email protected]
npm install gulp --save 或 npm install gulp -S
npm install gulp --save-dev 或 npm install gulp -D
//可一次性安装多个:npm install 模块1 模块2 模块n --saveinstall后项目中会出现node_modules文件夹
查看模块(包)的信息:@version,若不清楚可以去你npm官网查看该包的信息或者直接命令查看
npm info <package_name>3、更新(up, upgrade)
npm update [<package_name>][@<version>] [-g] [--save][-dev]4、卸载(remove、rm、r, un、unlink)
npm uninstall [<package_name>][@<version>] [-g] [--save][-dev]5、搜索(s、se、find)
使用该功能可以查找我们需要的模块及其相关模块信息(包名称、描述、作者、更新时间、最新版本号、关键词等等),下面是语法:
npm search [<package_name>][@<version>] [-g] [--save][-dev]6、发布
//登录或注册,需要输入用户名、密码
npm adduser
//发布
npm publish [<package_name>]
//撤销发布的某个版本
npm unpublish <package_name>@<version> 注意:一般使用npm会修改镜像,因为是国外的网站,下载速度会很慢,但是登录时镜像要改回来,否则会登陆失败
三、查看模块信息
1、已安装的所有模块
npm list/ls/la/ll [-g]
eg:
npm list
npm list -g --depth 02、模块安装路径
npm root [-g] //全局或本地

3、模块信息(名称、版本号、依赖关系、Repo)
npm view <package_name> [package.json中的属性]

4、浏览器跳转到官方文档
npm docs <package_name>
eg: npm docs jquery //浏览器自动打开该官网文档页面四、Config命令
1、更改npm全局安装路径
npm config set prefix <路径>2、更改npm镜像源
1)使用配置:
npm config set registry <URL>
//设置淘宝的源:
npm config set registry https://registry.npm.taobao.org
//设置回原来的源:
npm config set registry https://registry.npmjs.org2)使用cnpm:
//先安装cnpm工具
$ npm install -g cnpm --registry=镜像源地址
//使用cnpm代替npm
$ cnpm install 模块名3)使用nrm(推荐):
//1.先安装nrm工具
$ npm install -g nrm
//2.查看当前可用的镜像源
$ nrm ls
//3.切换npm源
$ nrm use 镜像源名称五、其它常用命令
1、帮助
npm help // 帮助
npm -h // 快速搜索某一个命令的详情语法2、验证缓存
npm cache clean
//强制清除缓存
npm cache clean -f 或 npm cache clean --force3、清除缓存
//验证缓存数据的有效性和完整性,清理垃圾数据
npm cache verify4、Script
npm run <command>
eg: npm run startnpm run后面是package.json中"script"属性中配置的命令
"script": {
"命令": "执行代码",
...
}
边栏推荐
- 51单片机中断与定时器计数器,基于普中科技HC6800-ESV2.0
- Dialogue | prospects and challenges of privacy computing in the digital age
- 操作系统产品密钥查看方法
- Activemq消息组件发布订阅ReDelivery消息重新投递
- 2022第六季完美童模 合肥賽區 决賽圓滿落幕
- Development tips - Image Resource Management
- Analysis of c voice endpoint detection (VAD) implementation process
- laravel 8 实现 订单表按月份水平分表
- Verilog 表达式
- 15 things to learn in a year of internship in famous enterprises, so you can avoid detours.
猜你喜欢

Oracle subquery

Déclaration de la variable Typescript - - assertion de type

分布式数字身份的几个“非技术”思考
![[untitled]](/img/6e/5dd5dcff89a74f7d367c9186a77268.png)
[untitled]

二手交易平台碳减排,有了评估标准

July 2022 (advanced soft test) information system project manager certification enrollment Brochure

【最全】PS各个版本下载安装及小试牛刀教程(PhotoShop CS3 ~~ PhotoShop 2022)

Summary of various series (harmonic, geometric)

Heavyweight released "FISCO bcos application landing guide"
![[redis] redis6 learning framework ideas and details](/img/64/836b1f8843a8eb91ff8da8c05ccd87.png)
[redis] redis6 learning framework ideas and details
随机推荐
How to recover data loss of USB flash disk memory card
Analysis of c voice endpoint detection (VAD) implementation process
Mqtt second session -- emqx high availability cluster implementation
晋升或汇报,你真的把事情讲清楚了吗?
Robcogen tutorial of robot code generator
闭关修炼(二十五)基础web安全
Np5 formatted output (III)
Enrollment brochure for system integration project management engineer certification in July 2022
NP3 formatted output (I)
2022春夏系列 KOREANO ESSENTIAL重塑时装生命力
Actual combat memoir starts from webshell to break through the border
Summary of various series (harmonic, geometric)
2022第六季完美童模 海口赛区 选拔赛圆满落幕
Self attention mechanism
ThreadLocal线程变量
闭关修炼(二十二)session和cookie原理
Is it really safe to open a stock account online? Find the answer
对比HomeKit、米家,智汀家庭云版有哪些场景化的体验
verilog 移位操作符
P6772 [noi2020] gourmet (matrix fast power)