npm 使用参考

一、概述

返回目录

记录 npm 使用方法

二、npm 基本操作

#查看版本

$ npm -v #同 npm --version,查看 npm 版本

1. 包管理

返回目录

init

初始化 node 项目

$ mkdir node_demo #新建文件夹
$ cd node_demo #进入文件夹
$ npm init -y #初始化,并生成package.json 文件

返回目录

search

搜索包

  1. npm search <包名>
    # moment 时间处理包
    $ npm search moment
    

返回目录

install

安装包
别名:i|isntall|add

  1. npm install当前项目安装 package.json 记录的所有包
    参数:--prod只安装 package.json 生产环境的包
  2. npm install <包名>当前项目安装指定包,
    参数:--save-dev|-D为开发环境安装
    参数:--save-prod|-S为生产环境安装
    参数:-g全局
    # moment 时间处理包
    $ npm install -S moment #项目安装
    $ npm install -g moment #全局安装
    

返回目录

ls

查看已安装的包
别名:list|la|ll

  1. npm ls查看安装过的包
    参数:--depth依赖深度
    参数:-g全局
    参数:<pkg>包名
    # moment 时间处理包
    $ npm ls moment --depth 0 #查看当前目录安装的包@安装版本
    $ npm ls --depth 0 #查看当前目录安装过的所有包@安装版本
    $ npm ls --depth 0 -g #查看全局安装的所有包@安装版本
    

返回目录

update

更新已安装的包
别名:up|upgrade|udpate

  1. npm update更新已安装的所有包
    参数:-g全局
    $ npm update #更新当前目录已安装的所有包
    $ npm update -g #更新全局安装的所有包
    
  2. npm update <包名>
    参数:-g全局
    # moment 时间处理包
    $ npm update moment #更新当前目录指定的包
    $ npm update -g moment #更新全局安装的指定包
    

返回目录

uninstall

卸载已安装的包
别名:un|unlink|remove|rm|r

  1. npm uninstall <包名>
    参数:-g全局
    # moment 时间处理包
    $ npm uninstall moment  #卸载当前目录已安装的指定包,参数 --save-dev 和 --save-prod 同样适用
    $ npm uninstall -g moment   #卸载全局安装的指定包
    

返回目录

2. package.json

  1. npm init -y生成的 package.json 文件,内容如下:
    {
      "name":"example",  //名称,默认目录名称
      "version":"1.0.0", //版本,默认1.0.0
      "description": "", //描述,默认""
      "main":"index.js", //程序入口
      "scripts": {       //执行脚本
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "keywords": [],    //关键字,值为字符串数组
      "author": "",      //作者
      "license": "ISC",  //许可证
    }
    
    可以设置默认值
    $ npm set init.author.email "wombat@npmjs.com" #设置作者的Email
    $ npm set init.author.name "ag_dubs" #设置作者的名字
    $ npm set init.license "MIT" #设置许可类型
    
    其余的值,可以手动编辑。
  2. 安装包的记录在 package.json 中
    npm i -D <包名>安装的包,会存在 “devDependencies” 中,用于开发和测试环境;用 npm i -S <包名>安装的包,会存在 “dependencies” 中,用于生产环境。
    {
      //上面的省略。。。
      //生产环境的依赖包
      "dependencies": {
        "moment": "^2.24.0"
      },
      //开发环境的依赖包
      "devDependencies"": {
        "moment": "^2.24.0"
      }
    }
    
    版本前缀^~表示依赖包的适用范围,
    前缀版本范围举例
    ~Patch releases1.0 or 1.0.x~1.0.4
    ^Minor releases1 or 1.x^1.0.4

返回目录

3. 开发

返回目录

run-script

运行脚本,执行 package.json 里 “scripts” 中的命令。如未找该命令,会输出全部命令。
别名:run|rum|urn

首先,新建 index.js 文件 填入以下内容

//index.js
console.log("hello world!");

其次,在 package.json 的 “scripts” 下添加 “go”: “node index.js”

{
  "scripts": {
    "go": "node index.js", //添加的脚本命令
    "test": "echo \"Error: no test specified\" && exit 1" //默认值
  },
}

最后执行 npm run go,输出 “hello world!”

$ npm run go

> example@1.0.0 go E:\example
> node index.js

hello world

返回目录

test

执行 package.json 中 “scripts” 的 test 命令

$ npm test #等同 npm run test

返回目录

start

执行 package.json 中 “scripts” 的 start 命令,如没有 start 时会默认执行 “node server.js”

$ npm start #等同 npm run start

返回目录

stop

执行 package.json 中 “scripts” 的 stop 命令

$ npm stop #等同 npm run stop

返回目录

restart

会按顺序执行 stop 和 start 命令

$ npm restart #等同 npm stop && npm start 或 npm run stop && npm run start

返回目录

build

是由 npm link命令和 npm install命令组成的管道命令。要直接运行就执行 package.json 中 “scripts” 的 build 命令

$ npm build #执行由 ```npm link```命令和 ```npm install```命令组成的管道命令
$ npm run build #执行 package.json 中 "scripts" 的 build 命令

返回目录

rebuild

用于必须使用新的二进制文件重新编译所有 C++ 插件
别名:rb

$ npm rebuild

返回目录

三、npm 进阶操作

1. 包管理

返回目录

install-test

先运行 install 命令,紧接着运行 test 命令。 它与 install 命令所能接受的参数完全相同。
别名:t|tst

$ npm install-test

返回目录

ci

安装 package-lock.json 中的所有包。安装速度快,常用于持续集成。

  1. 必须有 package-lock.json 或 npm-shrinkwrap.json 文件
  2. 如果 package-lock.json 与 package.json 中的包不匹配。则报错并退出,而不是更新 package-lock.json
  3. 只能安装整个项目:不能添加单个依赖包。
  4. 如 node_modules 已经存在,则在 npm ci开始安装之前自动删除
  5. 永远不会写入 package.json 或 package-lock.json
$ npm ci

返回目录

install-ci-test

执行完 npm ci 后立即执行 npm test。别名:cit

$ npm install-ci-test

返回目录

outdated

检查安装的包是否过时

  1. npm outdated
    参数:--json以json形式输出
    $ npm outdated --json
    {
      "node-media-server": {
        "current": "1.4.7",
        "wanted": "1.5.1",
        "latest": "2.1.4",
        "location": "node_modules\\node-media-server"
      }
    }
    
    参数:--long显示额外的信息
    $ npm outdated -l #--long
    Package            Current  Wanted  Latest  Location  Package Type  Homepage
    node-media-server    1.4.7   1.5.1   2.1.4  example   dependencies  https://github.com/illuspas/Node-Media-Server#readme
    
    参数:--parseable
    $ npm outdated --parseable
    E:\example\node_modules\node-media-server:node-media-server@1.5.1:node-media-server@1.4.7:node-media-server@2.1.4
    
    参数:--global检查全局安装的包,而不是当前项目中的包。
    $ npm outdated --global
    
    参数:--depth检查依赖关系树的最大深度。默认0
    $ npm outdated --depth 0
    

返回目录

dedupe

优化包的引用,去掉重复的包 dedupe
别名:ddp|find-dupes

$ npm dedupe

返回目录

prune【待更新】

移除无关的包 prune

$ npm prune

返回目录

shrinkwrap

锁定依赖包的版本,生成 npm-shrinkwrap.json 文件

$ npm shrinkwrap

返回目录

hook【待更新】

钩子操作 hook

$ npm hook ls [pkg]
$ npm hook add <entity> <url> <secret>
$ npm hook update <id> <url> [secret]
$ npm hook rm <id>

返回目录

2. 开发

audit【待更新】

安全审核

$ npm audit [--json] [--production]
$ npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=(dev|prod)]

返回目录

pack【待更新】

打包

$ npm pack [[<@scope>/]<pkg>...] [--dry-run]

返回目录

3. 账户

nrm 镜像源管理工具

#使用淘宝镜像源安装 nrm
$ npm i -g nrm --registry=https://registry.npm.taobao.org
#查看版本并验证安装
$ nrm --version
#切换回 npm 官方镜像,用于上传自己开发的包
$ nrm use npm
#切换到 淘宝镜像 用于安装包用。等同直接设置淘宝镜像。
$ nrm use taobao
#查看当前应用的镜像源
$ nrm current
#查看能设置的镜像源
$ nrm ls

返回目录

adduser

注册账户
npm网站注册。或在命令行中注册(用已安装的 nrm 切换到官方镜像源)。

$ nrm use npm #切换到官方镜像源
$ npm adduser #注册帐号,如有账户略过
$ Username: #输入用户名
$ Password: #输入密码
$ Email: (this IS public) #输入公开的电子邮箱

返回目录

whoami

查看当前用户名

$ npm whoami

返回目录

logout

退出当前账户

$ npm logout

返回目录

4. 发包

link【待更新】

测试自己开发的包
别名:ln

$ npm link (in package dir)
$ npm link [<@scope>/]<pkg>[@<version>]

返回目录

version

包的版本操作

$ npm version #查看版本
$ npm version <x.y.z> #新版本 [x,y,z]=[major,minor,patch]
$ npm version patch #版本 x.y.z+1
$ npm version minor #版本 x.y+1.z=0
$ npm version major #版本 x+1.y=0.z=0
$ npm version prepatch #版本 x.y.z-r,z+1,r=0
$ npm version preminor #版本 x.y.z-r,y+1,z=0,r=0
$ npm version premajor #版本 x.y.z-r,x+1,y=0,z=0,r=0
$ npm version prerelease #版本 x.y.z-r,r+1
$ npm version prerelease --preid=<n> #版本 x.y.z-n.r,z= !n?+1:z,n=n?+1:0
$ npm version from-git #从 git 上获取版本
$ npm version patch -m "%s" #或 --mmessage,%s 为改动后的版本号,提交git用的

返回目录

publish

发布包。必须在官方镜像上操作,并且登录 npm 账号

$ npm publish #发布包
$ npm publish --access public #发布org包

返回目录

unpublish

撤回发布,好像只能撤回24小时之内发布的包

$ npm unpublish #撤回发布
$ npm unpublish --force #强制撤回

返回目录

fund

查看捐赠链接

$ npm fund [--json]
$ npm fund [--browser] [[<@scope>/]<pkg>]

返回目录

5. 配置

ping

ping 镜像源

$ npm ping

返回目录

doctor

诊断 npm 运行环境

$ npm doctor

返回目录

completion

用 tab 键进行 npm 命令自动补全,windows 的 cmd 不支持。

$ npm completion ~/.bashrc #或 ~/.zshrc
$ source ~/.bashrc

返回目录

bin

查看 bin 目录

$ npm bin #项目
$ npm bin -g #全局

返回目录

prefix

查看 node_modules 目录的前缀路径

$ npm prefix #项目
$ npm prefix -g #全局

返回目录

root

查看依赖包安装目录,即 node_modules 的路径

$ npm root #项目
$ npm root -g #全局

返回目录

view

查看包信息

$ npm view #查看当前项目信息
$ npm view <pkg> #查看指定包信息
$ npm view <pkg> version #查看依赖包的发行版本

返回目录

四、npm 终极操作

1. 包管理

docs

在浏览器查看包的文档
别名:home

$ npm docs <pkgname> #指定包的文档
$ npm docs . #当前包的文档

返回目录

bugs

在浏览器查看包的bug

$ npm bugs [<pkgname>] #查看指定包的bug
$ npm bugs #查看当前包的bug

返回目录

repo

在浏览器查看代码库

$ npm repo [<pkg>] #查看代码库

返回目录

star

给包点赞

$ npm star [<pkg>...]
$ npm unstar [<pkg>...]

返回目录

stars

$ npm stars [<user>] #查看点赞过的包

返回目录

2. 开发

edit【待更新】

$ npm edit <pkg>[/<subpkg>...]

返回目录

explore【待更新】

$ npm explore <pkg> [ -- <command>]

返回目录

cache【待更新】

$ npm cache add <tarball file>
$ npm cache add <folder>
$ npm cache add <tarball url>
$ npm cache add <git url>
$ npm cache add <name>@<version>
$ npm cache clean
$ npm cache verify

返回目录

3. 账户

返回目录

profile【待更新】

返回目录

token【待更新】

返回目录

4. 发包【待更新】

access【待更新】

返回目录

dist-tag【待更新】

返回目录

deprecate【待更新】

返回目录

5. 包的权限管理

owner【待更新】

返回目录

team【待更新】

返回目录

org【待更新】

返回目录

6. 配置

config | get | set【待更新】

$ npm config set registry https://registry.npm.taobao.org
返回目录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值