前端开发系列079-Node篇之npm+

本文介绍NPM系列核心工具(npm、nrm、npx和nvm)的基本使用和常用的命令。
核心工具

npm(node package manager) Node的包管理工具,我们可以利用该工具来搜索、下载、安装、卸载和升级包,在下载和安装Node的时候npm会捆绑在一起默认安装。

nrm(npm registry manager) Node的镜像源管理工具,如果访问国外的包速度太慢,那么可以考虑利用nrm来切换镜像源。

nvm(node version management) 是Mac下的用来管理不同版本node的工具,如果是管理 Windows系统,可以使用nvmwnvm-windows

npx 从5.2版开始,npm 增加了 npx,该工具主要用来执行包(二进制文件)。

NPM 核心命令
npm init                    交互创建package.json文件
npm init -y                 默认创建package.json文件
npm --help                  查看帮助信息
npm --version               查看版本信息,别名为-v
npm cache clean             清除缓存
npm cache verify            验证缓存
npm cache clean --force     强制清除缓存
npm search xx               搜索关键字相关的包
npm view   xx               查看指定包最新版本的信息(版本、作者、地址等)
npm info   xx               同上,别名view、v、info、和show
npm ls                      列出本地(当前项目)安装的所有包
npm ls -g                   列出全局安装的所有包
npm list -g --depth 0       列出全局安装的所有包  控制显示层级

npm i xx                    安装指定的包(本地安装)  i=== install
npm install xx              安装指定的包(本地安装-项目依赖)  默认--save === -S
npm install xx -g           安装指定的包(全局安装)
npm install xx --save-dev   安装指定的包(本地安装-开发依赖)  --save-dev === -D
npm install xx -D           安装指定的包(本地安装-开发依赖) 
npm uninstall xx            卸载指定的包,别名un, unlink, remove, rm, r
npm install                 根据package.json文件来安装所有需要的包

npm config ls               查看配置信息   ls === list
npm config ls -l            查看所有的配置信息
npm config set xx           设置配置项  config === c
npm config set registry=https://registry.npm.taobao.org/    切换镜像源为taobao镜像
npm config get registry     查看当前镜像源
npm config get home         查看当前主页(home)地址

npm update xx               更新指定的包
npm update                  更新所有项目依赖包 等价于npm update --save
npm update --save-dev       更新所有生产依赖包
npm update -g               更新全局包

npm adduser                 注册用户
npm publish                 发布模块
npm root                    查看本地项目中包的安装路径
npm root -g                 查看全局包的安装路径
npm docs jquery             打开查看指定包的官网(官方文档)

npm run <command>           执行命令(参考package.json文件中scripts中的配置)
npm pack                    打包
npm link                    链接本地包
npm unlink                  卸载本地包
env                         查看环境变量
NRM 核心命令
nrm --help                          查看帮助信息
nrm ls                              列出所有的镜像源
nrm current                         列出当前使用的镜像源
nrm use xx                          切换并使用某个特定的镜像源 等同于 npm config set registry=
nrm add wen http://wendingding.com  添加新的镜像源  wen是名称,后面跟的是URL路径
nrm del wen                         删除指定镜像源
nrm test taobao                     测试指定镜像源的速度
NVM的安装

参考NVM的GitHub官方仓库
参考nvm-windows官方仓库

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash

通过curl来安装nvm,安装完毕后会自动配置环境变量,通过下面的命令来查看.bash_profile文件,可以看到配置文件中已经新增加了环境变量的配置。

cd ~                            切换到根目录
open .bash_profile              打开配置文件

# 下面列出的是.bash_profile文件的拟任
# Add Visual Studio Code (code)
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
export PATH="/usr/local/opt/openssl/bin:$PATH"
export PATH=${PATH}:/usr/local/MongoDB/bin

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm ..

我们还需要通过下面的命令来更新配置过的环境变量,然后查看nvm的版本信息如果能够正确打印版本则安装成功。

source .bash_profile              更新环境变量
command -v nvm                    如果打印nvm则说明安装成功
nvm --version                     打印版本信息 0.33.6
NVM的核心命令
nvm --help                        查看帮助信息
nvm --version                     查看版本信息
nvm install [-s] <version>        安装指定版本的包
nvm install node                  安装最新的版本
nvm install --lts                 安装最新的稳定版本
nvm uninstall <version>           卸载
nvm uninstall --lts               卸载最新的稳定版本
nvm ls                            查看本地安装的Node版本
nvm ls-remote                     列出可安装的所有远程版本
nvm use 版本号                     切换Node版本
nvm current                       查看当前版本
NPX的核心命令

npx工具想要解决的主要问题是调用项目内部安装的模块。

一般情况下我们调用项目内部安装的模块,只能在项目脚本和package.jsonscripts字段里面配置(通过npm run xxx的方式调用)。如果要通过命令行调用则会比较麻烦,我们可以做个对比:

$ npm install  mocha --save-dev             安装开发依赖

# [1] 通过npm的方式来执行
$ cd node_modules/.bin/                     切换到本地项目.bin目录中
$ mocha --version                           执行对应的模块

# [2] 通过配置package.json文件的script字段来执行
# 配置项:"mocha":"./node_modules/.bin/mocha --version"
$ npm run mocha 

# [3] 通过npx的方式来执行
$ npx mocha --version                       执行mocha模块 

npx 不需要全局安装依赖包的情况下,直接运行命令来临时安装-使用-写在,整个操作一气呵成而且运行后不会污染全局环境。比如我们初始化一个项目的时候,npx create-react-app my-react-app指令,会将create-react-app下载到一个临时目录,使用以后再删除,每次运行这个命令,都会重新下载依赖包运行后删除。

如果我们需要检查某个文件的媒体类型(mime类型),可以通过mime这个包来实现。

$ npx mime index.js
npx: 1 安装成功,用时 1.994 秒
application/javascript

npx 在使用的时候感觉比较像npm run,但是更加灵活和方便,它的原理就是运行的时候会去node_modules/.bin路径检查npx后的命令是否存在,存在则执行,如果找不到,那么就继续去环境变量$PATH里面查找,存在则执行,如果还是找不到,那么就会自动下载依赖包的最新版本到临时目录,然后再运行命令,运行完之后把该包删除。

posted on 2022-12-16 08:56  文顶顶  阅读(89)  评论(0编辑  收藏  举报

导航