包管理工具(npm/cnpm/yarn/pnpm/npx/nvm

2022-09-21  本文已影响0人  CodeMT

npm

中文文档:https://www.npmjs.cn/

下面三个版本号在安装的时候代表不同的含义。

"5.0.3", // 表示安装指定的5.0.3版本
"~5.0.3", // 表示安装5.0.X中最新的版本
"^5.0.3" // 表示安装5.X.X中最新的版本

常常会出现同一个项目,有的同事是OK的,有的同事会由于安装的版本不一致出现bug。

cnpm

安装

npm install -g cnpm --registry=https://registry.npm.taobao.org

yarn

中文文档:https://www.yarnpkg.cn/getting-started

Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,是为了弥补 npm 的一些缺陷而出现。

安装

npm install -g yarn

Yarn和npm命令对比:

npm yarn
npm install yarn
npm install react --save yarn add react
npm uninstall react --save yarn remove react
npm install react --save-dev yarn add react --dev
npm update --save yarn upgrade
查询当前配置的镜像 设置成淘宝镜像
npm get registry yarn config get registry
npm config set registry https://registry.npm.taobao.org yarn config set registry https://registry.npm.taobao.org

pnpm

中文文档:https://www.pnpm.cn/

安装

npm install -g pnpm  // 通过 npm 安装 pnpm
npx pnpm add -g pnpm  // 通过 npx 安装 pnpm

一旦安装完 pnpm之后,就无需使用其它软件包管理器来更新pnpm了。 你可以让pnpm 自己来更新自己,如下所示:

pnpm add -g pnpm

npx

npm使用教程:http://www.ruanyifeng.com/blog/2019/02/npx.html

npm install -g npx

(1)npx 会帮你执行依赖包里的二进制文件。引入这个命令的目的是为了提升开发者使用包内提供的命令行工具的体验。在以往中,我们在 node 项目中要执行一个脚本,需要将它在 scripts 中声明:

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "init:runtime-only": "vue init webpack vue-cms"
}

然后执行命令

npm run init:runtime-only

它其实本质还是运行

vue init webpack vue-cms

用了 npx 以后呢,你不需要在 scripts 中声明了,就可以直接敲键盘了(npx 开头,然后接你要执行的内容):

npx vue init webpack vue-cms

(2)原理

(3)等同于 ls npx ls

(4)避免全局安装模块

npx create-react-app my-react-app

上面代码运行时,npx 将create-react-app下载到一个临时目录,使用以后再删除。所以,以后再次执行上面的命令,会重新下载create-react-app。

npx uglify-js@3.1.0

上面代码指定使用 3.1.0 版本的uglify-js压缩脚本。

npx http-server

(5)--no-install 参数和--ignore-existing 参数

npx --no-install http-server
npx --ignore-existing create-react-app my-react-app

(6)使用不同版本的 node

$ npx node@0.12.8 -v

上面命令会使用 0.12.8 版本的 Node 执行脚本。原理是从 npm 下载这个版本的 node,使用后再删掉。
某些场景下,这个方法用来切换 Node 版本,要比 nvm 那样的版本管理器方便一些。

(7)-p 参数

$ npx -p node@0.12.8 node -v 

上面命令先指定安装node@0.12.8,然后再执行node -v命令。

npx -p lolcatjs -p cowsay [command]

(8)-c 参数

$ npx -p lolcatjs -p cowsay 'cowsay hello | lolcatjs'

报错

$ npx -p lolcatjs -p cowsay -c 'cowsay hello | lolcatjs'
$ npm run env | grep npm_
$ npx -c 'echo "$npm_package_name"'

上面代码会输出当前项目的项目名。

nvm

管理node版本的工具,例如在一台电脑上已经安装了node10以上,但有的项目需要node版本在8,由于要维护多个项目,卸载再安装又有很多麻烦和错误,使用nvm给前端同学带来了福利。

安装

github上下载最新版本 https://github.com/coreybutler/nvm-windows/releases

使用

nvm install  8.10.0  // 例如:安装ndoe  8.10.0为node版本
nvm list  // 查看nvm管理的node版本列表,正在使用的版本在列表前有星号标记
nvm use 8.10.0  // 使用node指定版本 
nvm uninstall 8.10.0 // 卸载指定node版本
上一篇 下一篇

猜你喜欢

热点阅读