Node.js学习笔记(二) 包管理器

天大地大妈咪最大 提交于 2020-01-19 23:19:20

NPM 是与 Node.js 一起安装的包管理器,用户可以从 NPM 服务器上下载别人编写的模块以提高开发效率

可以使用 npm --version 命令查看 npm 版本,可以使用 npm install npm -g 命令升级 npm 版本

1、安装模块

可以使用 npm install 命令安装模块,安装模块的方式有两种,分别是本地安装(local)和全局安装(global)

  • 本地安装的模块会放在当前目录中的 node_modules 目录下,可以通过 require() 引入程序

  • 全局安装的模块会放在全局目录中,可以直接在命令行使用

如果希望具备两者功能,那么需要同时在本地和全局安装模块,常用的命令和参数如下:

> # 根据当前文件下的 package.json 配置文件安装依赖
> npm install 
> npm i # 简写
> # 本地安装模块
> npm install moduleName
> # 全局安装模块
> npm install moduleName --golbal
> npm install moduleName -g # 简写
> # 安装模块,并将信息写入 package.json 文件中的 dependencies(生产环境依赖)
> npm install moduleName --save
> npm install moduleName -S # 简写
> # 安装模块,并将信息写入 package.json 文件中的 devDependencies(开发环境依赖)
> npm install moduleName --save-dev
> npm install moduleName -D # 简写

2、卸载模块

可以使用 npm uninstall 命令卸载模块,常用的命令和参数如下:

> # 删除指定模块(本地)
> npm uninstall moduleName
> # 删除指定模块(全局)
> npm uninstall moduleName --global
> npm uninstall moduleName -g # 简写
> # 删除模块,同时删除 package.json 文件中的 dependencies 关于该模块的信息
> npm uninstall moduleName --save
> npm uninstall moduleName -S # 简写
> # 删除模块,同时删除 package.json 文件中的 devDependencies 关于该模块的信息
> npm uninstall moduleName --save-dev
> npm uninstall moduleName -D # 简写

3、查看信息

我们可以使用 npm list 命令查看已安装的模块,常用的命令和参数如下:

> # 查看所有已安装的模块(本地)
> npm list
> # 查看所有已安装的模块(全局)
> npm list --global
> npm list -g # 简写
> # 指定展开的深度为零,即不展示依赖模块
> npm list --depth 0
> # 查看指定模块
> npm list moduleName

如果想了解更详细的信息,可以查看各模块的 package.json 文件,它位于模块目录下,用于描述模块的属性

一些常见的属性如下:

  • name:包的名称

  • version:包的版本号

    npm 使用语义版本号,格式为 X.Y.Z,分别代表主版本号、次版本号和补丁版本号

    若修复漏洞,则更新 Z;若新增功能但向下兼容,则更新 Y;若有大变动且不向下兼容,则更新 X

  • description:包的描述

  • main:入口文件,默认是根目录下的 index.js 文件

  • dependencies:生产环境下的依赖包列表

  • devDependencies:开发环境下的依赖包列表

  • script:指定脚本命令,命令行下使用 npm run <scriptName> 即可运行

  • author:作者姓名

  • license:许可证类型

  • homepage:官网地址

  • repository:仓库信息

4、更新模块

可以使用 npm update 命令更新模块,常用的命令和参数如下:

> # 更新全部模块(本地)
> npm update
> # 更新全部模块(全局)
> npm update --global
> npm update -g # 简写
> # 更新指定模块
> npm update moduleName
> # 更新指定模块到指定版本
> npm update moduleName@X.Y.Z
> # 更新指定模块到最新版本
> npm update moduleName@latest
> # 更新执行模块,同时将信息记录到 package.json 文件
> npm update moduleName --save

使用 npm update 命令有两个注意的地方,第一个是 版本不能回退,第二个是 只更新到次版本号

比如 lodash 模块有三个版本,分别是 3.9.13.10.14.17.15

假如现在我们安装好了 3.10.1 版本的 lodash,则它既不能回退到 3.9.1,也不能更新到 4.17.15

5、修改配置

(0)一般格式

> npm config --help
# npm config set <key> <value>
# npm config get [<key>]
# npm config delete <key>
# npm config list [--json]
# npm set <key> <value>
# npm get [<key>]

# alias: c
> npm config list
# ; cli configs
# metrics-registry = "https://registry.npmjs.org/"
# scope = ""
# user-agent = "npm/6.4.1 node/v10.15.3 win32 x64"

# ; userconfig C:\Users\lenovo\.npmrc
# registry = "https://registry.npmjs.org/"

# ; builtin config undefined
# prefix = "C:\\Users\\<username>\\AppData\\Roaming\\npm"

# ; node bin location = C:\nodejs\node.exe
# ; cwd = C:\Users\<username>\Desktop
# ; HOME = C:\Users\<username>
# ; "npm config ls -l" to show all defaults.

(1)设置代理

> # 查看代理,默认为 https://registry.npmjs.org/
> npm config get registry
> # 修改代理
> npm config set registry https://registry.npm.taobao.org

(2)设置全局安装的默认路径

> # 查看全局安装的默认路径,Windows 下默认为 C:\Users\<username>\AppData\Roaming\npm
> npm config get prefix
> # 修改全局安装的默认路径
> npm config set prefix C:\nodejs\npm

(3)设置缓存路径

> # 查看缓存路径,Windows 下默认为 C:\Users\<username>\AppData\Roaming\npm-cache
> npm config get cache
> # 修改缓存路径
> npm config set cache C:\nodejs\npm-cache

6、写在最后

  • 在使用 npm 的时候,如果出现下载速度过慢的情况,建议大家使用 cnpm
  • 在进行项目开发的时候,如果需要使用多个版本的 Node/NPM,建议大家使用 nvm 进行管理

【 阅读更多 Node.js 系列文章,请看 Node.js学习笔记

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!