cnpm,yarn,npm,nodejs 区别与关系

时间:2024-03-03 19:33:01

Yarn是Facebook公司出品的用于管理nodejs包的一款软件。Yarn 是为了弥补 npm 的一些缺陷而出现的。
npm是随同nodejs一起安装的包管理工具。
cnpm是淘宝 NPM 镜像,更快。

通过官方xz文件安装nodejs。

安装nodejs

下载下来是xz文件

xz -d node-v12.14.0-linux-x64.tar.xz
tar -vxf node-v12.14.0-linux-x64.tar
sudo mv node-v12.14.0-linux-x64 /usr/local
sudo vim /etc/profile
# nodejs
export NODE_HOME=/usr/local/node-v12.14.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
source /etc/profile
# node -v
v12.14.0
# npm -v
6.13.4

都不需要安装!

自带npm!

安装yarn

安装curl

sudo apt install curl

添加key

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

添加源

sudo sh -c \'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list\'

刷新安装

sudo apt update
sudo apt install yarn

查看版本(必须安装完nodejs,才可以查看)

yarn --version

否则会报错

# yarn --version
/usr/share/yarn/lib/cli.js:46099
  let {
      ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/usr/share/yarn/bin/yarn.js:24:13)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)

安装cnpm

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

查看版本

# cnpm --version
cnpm@6.1.1 (/usr/local/node-v12.14.0-linux-x64/lib/node_modules/cnpm/lib/parse_argv.js)
npm@6.13.4 (/usr/local/node-v12.14.0-linux-x64/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
node@12.14.0 (/usr/local/node-v12.14.0-linux-x64/bin/node)
npminstall@3.25.2 (/usr/local/node-v12.14.0-linux-x64/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/usr/local/node-v12.14.0-linux-x64 
linux x64 4.15.0-72-generic 
registry=https://r.npm.taobao.org

安装包案例

# 使用 npm 安装 CLI
$ npm install -g @tarojs/cli
# OR 使用 yarn 安装 CLI
$ yarn global add @tarojs/cli
# OR 安装了 cnpm,使用 cnpm 安装 CLI
$ cnpm install -g @tarojs/cli

更换版本

# 使用 npm 安装 CLI
$ npm install -g @tarojs/cli@1.3.9
# OR 使用 yarn 安装 CLI
$ yarn global add @tarojs/cli@1.3.9
# OR 安装了 cnpm,使用 cnpm 安装 CLI
$ cnpm install -g @tarojs/cli@1.3.9