npm常用命令

10 篇文章 0 订阅

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 --version

npx 就是想解决这个问题,让项目内部安装的模块用起来更方便,只要像下面这样调用就行了。

npx mocha --version

npx 的原理很简单,就是运行的时候,会到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
npm@2.14.2 /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 gulp@3.9.1
npm install gulp --save 或 npm install gulp -S
npm install gulp --save-dev 或 npm install gulp -D

//可一次性安装多个:npm install 模块1 模块2 模块n --save

install后项目中会出现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 0

2、模块安装路径

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.org

2)使用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 --force

3、清除缓存

//验证缓存数据的有效性和完整性,清理垃圾数据
npm cache verify

4、Script

npm run <command>

eg: npm run start

npm run后面是package.json中"script"属性中配置的命令

"script": {
    "命令": "执行代码",
    ...
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值