当前位置:网站首页>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": {
"命令": "执行代码",
...
}
边栏推荐
- 闭关修炼(二十)如何做好单元测试
- js for in循环 for of循环的区别以及用法
- PointNet/Pointnet++训练及测试
- Compare homekit, MI family, and zhiting family cloud edition for what scene based experiences
- Verilog 数据类型
- Is it really safe to open a stock account online? Find the answer
- 实战回忆录:从Webshell开始突破边界
- Mutex mutex
- New paid Tarot calculation source code (with building tutorial)
- 成员内部类、静态内部类、局部内部类
猜你喜欢

2022春夏系列 KOREANO ESSENTIAL重塑时装生命力

抽象类、接口

Self attention mechanism

Mutex mutex

Product manager certification enrollment brochure (NPDP) in July 2022

Typescript variable declaration - type assertion

Wallpaper applet source code double ended wechat Tiktok applet

Calculus Learning

机器人代码生成器之Robcogen使用教程

闭关修炼(二十四)浅入了解跨域问题
随机推荐
Intelligent hardware EVT DVT PVT mp
2022 Season 6 perfect children's model Haikou competition area trial successfully concluded
递归方法 rbac菜单层级显示 无限极分类
51单片机中断与定时器计数器,基于普中科技HC6800-ESV2.0
Analysis of c voice endpoint detection (VAD) implementation process
在 RedisTemplate 中使用 scan
ThinkPHP 6 使用 mongoDB
Is the securities account of qiniu school really safe and reliable?
CDGA|交通行业做好数字化转型的核心是什么?
单例模式的理解
Chengtong network disk imitation blue playing network disk source code with video tutorial
Pointnet的网络学习
MT-yolov6训练及测试
Is it safe for the top ten securities companies to open accounts? Is it reliable?
P6776-[NOI2020]超现实树
P6772 [noi2020] gourmet (matrix fast power)
二手交易平台碳减排,有了评估标准
【无标题】
2022第六季完美童模 清远赛区 海选赛圆满落幕
15 things to learn in a year of internship in famous enterprises, so you can avoid detours.