夜猫子的知识栈 夜猫子的知识栈
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《Web Api》
    • 《ES6教程》
    • 《Vue》
    • 《React》
    • 《TypeScript》
    • 《Git》
    • 《Uniapp》
    • 小程序笔记
    • 《Electron》
    • JS设计模式总结
  • 《前端架构》

    • 《微前端》
    • 《权限控制》
    • monorepo
  • 全栈项目

    • 任务管理日历
    • 无代码平台
    • 图书管理系统
  • HTML
  • CSS
  • Nodejs
  • Midway
  • Nest
  • MySql
  • 其他
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • Ajax
  • Vite
  • Vitest
  • Nuxt
  • UI库文章
  • Docker
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

夜猫子

前端练习生
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《Web Api》
    • 《ES6教程》
    • 《Vue》
    • 《React》
    • 《TypeScript》
    • 《Git》
    • 《Uniapp》
    • 小程序笔记
    • 《Electron》
    • JS设计模式总结
  • 《前端架构》

    • 《微前端》
    • 《权限控制》
    • monorepo
  • 全栈项目

    • 任务管理日历
    • 无代码平台
    • 图书管理系统
  • HTML
  • CSS
  • Nodejs
  • Midway
  • Nest
  • MySql
  • 其他
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • Ajax
  • Vite
  • Vitest
  • Nuxt
  • UI库文章
  • Docker
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 技术文档

    • Git使用手册
    • Markdown使用教程
    • npm常用命令
      • 简介
      • 常用命令
        • 检测是否安装及版本
        • 生成package.json文件
        • 安装模块
        • 查看
        • 更新模块
        • 卸载模块
        • 清空缓存
        • 使用淘宝镜像
        • 其他
      • 使用技巧
        • 多次安装不成功尝试先清除缓存
        • 查看已安装的依赖包版本号
      • npm发布包教程
        • npm版本号
        • 可执行命令
        • 撤销发布
      • nrm的作用与使用
        • nrm是什么?
        • nrm的安装
        • nrm命令
        • nrm使用
    • yarn基本命令
    • npm packageJson属性详解
    • yaml语言教程
    • Stylus预处理语言
    • Less预处理语言
    • Sass预处理语言
    • PWA运用
    • 富文本编辑器Ueditor
    • 发布npm
    • 构建一个TS的npm包
    • tsup打包工具
    • leaflet地图框架
    • pdfjs-dist使用
    • xlsx插件使用
    • changesets
    • release-it
    • mathjs
  • GitHub技巧

  • 博客搭建

  • Ajax

  • Vite

  • Vitest

  • Nuxt

  • UI库文章

  • Docker

  • 技术
  • 技术文档
夜猫子
2019-12-25
目录

npm常用命令

# npm常用命令

# 简介

npm是跟随node一起安装的包(模块)管理器。常见的使用场景有以下几种:

  • 允许用户从npm服务器下载别人编写的第三方包到本地使用。
  • 允许用户从npm服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到npm服务器供别人使用。

# 常用命令

# 检测是否安装及版本

npm -v # 显示版本号说明已经安装相应的版本
1

# 生成package.json文件

npm init
1

package.json用来描述项目中用到的模块和其他信息

# 安装模块

npm install # 安装package.json定义好的模块,简写 npm i

# 安装包指定模块
npm i <ModuleName>

# 全局安装
npm i <ModuleName> -g 

# 安装包的同时,将信息写入到package.json中的 dependencies 配置中
npm i <ModuleName> --save

# 安装包的同时,将信息写入到package.json中的 devDependencies 配置中
npm i <ModuleName> --save-dev

# 安装多模块
npm i <ModuleName1> <ModuleName2>

# 安装方式参数:
-save # 简写-S,加入到生产依赖中
-save-dev # 简写-D,加入到开发依赖中
-g # 全局安装 将安装包放在 /usr/local 下或者你 node 的安装目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 查看

# 查看所有全局安装的包
npm ls -g

# 查看本地项目中安装的包
npm ls

# 查看包的 package.json文件
npm view <ModuleName>

# 查看包的依赖关系
npm view <ModuleName> dependencies

# 查看包的源文件地址
npm view <ModuleName> repository.url

# 查看包所依赖的node版本
npm view <ModuleName> engines

# 查看帮助
npm help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 更新模块

# 更新本地模块
npm update <ModuleName>

# 更新全局模块
npm update -g <ModuleName> # 更新全局软件包。
npm update -g # 更新所有的全局软件包。
npm outdated -g --depth=0 # 找出需要更新的包。
1
2
3
4
5
6
7

# 卸载模块

# 卸载本地模块
npm uninstall <ModuleName>

# 卸载全局模块
npm uninstall -g <ModuleName> # 卸载全局软件包。
1
2
3
4
5

# 清空缓存

# 清空npm缓存
npm cache clear
1
2

# 使用淘宝镜像

# 使用淘宝镜像
npm install -g cnpm --registry=https://registry.npmmirror.com
1
2

# 其他

# 更改包内容后进行重建
npm rebuild <ModuleName>

# 检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新
npm outdated

# 访问npm的json文件,此命令将会打开一个网页
npm help json

# 发布一个包的时候,需要检验某个包名是否存在
npm search <ModuleName>

# 撤销自己发布过的某个版本代码
npm unpublish <package> <version>

# 查看源
npm config list

# 设置代理
npm config set proxy http://127.0.0.1:8080
npm config set https-proxy http://127.0.0.1:8080

# 删除代理
npm config delete proxy
npm config delete https-proxy

# 转换淘宝源和官方源
npm config set registry https://registry.npmmirror.com
npm config set registry https://registry.npmjs.org/

# 格式化所有文件
npm run lint --fix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

# 使用技巧

# 多次安装不成功尝试先清除缓存

npm cache clean -f
1

# 查看已安装的依赖包版本号

npm ls <ModuleName>
1

注意:用此方法才能准确的知道项目使用的版本号,查看package.json时,有“^" 符号表示大于此版本

# npm发布包教程

# npm版本号

这里先初步补充一下npm版本号相关知识,npm的版本号遵循SemVer 规范 (opens new window),版本号格式必须采用X.Y.Z的格式,其中 X、Y 和 Z 为非负的整数。X 是主版本号、Y 是次版本号、而 Z 为修订号,英文对应表示为 major、minor、patch,每个号必须采用递增。

X.Y.Z ===> {major}.{minor}.{patch}-state
2.4.1
1
2

state – 版本状态,可选字段,可选值包括以下几种

  • alpha,内部测试版本,bug较多
  • beta,公测版本,给外部进行测试的版本,有缺陷
  • rc,release candidate,前面三种测试版本的进一步版本,实现了全部功能,解决了大部分bug,接近发布,正式版本的候选版本

# 可执行命令

major:主版本号(大版本)
minor:次版本号(小更新)
patch:补丁号(补丁)
premajor:预备主版本
preminor: 预备次版本
prepatch:预备补丁版本
prerelease:预发布版本
1
2
3
4
5
6
7
npm version patch  // 1.0.1 表示小的bug修复
npm version minor // 1.1.0 表示新增一些小功能
npm version major // 2.0.0 表示大的版本或大升级
npm version preminor // 1.1.0-0 后面多了个0,表示预发布
npm version patch --preRelease=beta // 1.0.1-beta.0
1
2
3
4
5

# 撤销发布

由于撤销发布会让把要撤销的包作为依赖的包不能正常工作,所以npm官方对包的撤销是有限制的:

  1. 不允许撤销发布已经超过24小时的包(unpublish is only allowed with versions published in the last 24 hours)
  2. 如果在24小时内确实要撤销,需要加--force参数
  3. 即使撤销了发布的包,再次发布的时候也不能与之前被撤销的包的名称/版本其中之一相同,因为这两者构成的唯一性已经被占用,官方并没有随着撤销而删除

撤销发布的命令为 npm unpublish

npm unpublish my-test-project
// 报错
npm ERR! Refusing to delete entire project.
npm ERR! Run with --force to do this.
npm ERR! npm unpublish [<@scope>/]<pkg>[@<version>]

// 加 --force参数重新撤销发布
npm unpublish my-test-project --force
npm WARN using --force I sure hope you know what you are doing.
- my-test-project
1
2
3
4
5
6
7
8
9
10

# nrm的作用与使用

# nrm是什么?

nrm(npm registry manager )是npm的镜像源管理工具,有时候国外资源太慢,使用这个就可以快速地在 npm 源间切换

# nrm的安装

npm install -g nrm
1

# nrm命令

nrm ls #查看可用的源(有*号的表示当前所使用的源,以下<registry>表示源的名称)
nrm use <registry> # 将npm下载源切换成指定的源
nrm add <registry> <url> # 添加源,url为源的路径
nrm del <registry> # 删除源
nrm test <registry> # 测试源的响应时间,可以作为使用哪个源的参考

nrm help # 查看nrm帮助
nrm home <registry> # 跳转到指定源的官网
1
2
3
4
5
6
7
8

# nrm使用

如果在你的网络不太理想或者受到其他网络限制导致不能使用npm原本的源进行下载时,nrm就非常有用了,你只需要:

nrm ls # 查看可用的源
nrm use <registry> # 切换到指定源
1
2
编辑 (opens new window)
上次更新: 2024/11/25 16:00:01
Markdown使用教程
yarn基本命令

← Markdown使用教程 yarn基本命令→

最近更新
01
IoC 解决了什么痛点问题?
03-10
02
如何调试 Nest 项目
03-10
03
Provider注入对象
03-10
更多文章>
Copyright © 2019-2025 Study | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式