nrm、nvm、npm、yarn、fvm

搞前端开发这几个工具命令都会用到,介绍下这几个工具的用处及之间的关系。

nrm:

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

  • 使用:

sudo npm i -g nrm  // 安装 
nrm ls // 查看所有的npm源和当前正在使用的npm源
nrm add name url // 添加自定义的npm源,name 为自定义源名称 ,url为npm源链接
nrm use name // 切换npm源

nvm:

安装nvm,使用 brew install nvm
1.mkdir ~/.nvm
2.~/.zshrc 中添加如下代码
# This loads nvm
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion" ] && . "/usr/local/opt/nvm/etc/bash_completion"

2.1如果是M1电脑
# This loads nvm
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

nvm(node.js version management),顾名思义是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs。下面列出下载、安装及使用方法。

  • 使用:
  nvm install stable   //安装最新稳定版 node

  nvm install <version> // 安装指定版本,可模糊安装,如:安装v4.0.0,可nvm install v4.0.0 或者 nvm install 4.4

  nvm uninstall <version>       //删除已安装的指定版本,语法与install类似

  nvm use <version>           //切换使用指定的版本node

  nvm alias default <version>  //可以指定默认打开终端时的node版本
  
  nvm ls                             //列出所有安装的版本

  nvm ls-remote             // 列出所有远程服务器的版本(官方node version list)

  nvm current      //显示当前的版本

  nvm alias <name> <version>        //给不同的版本号添加别名

  nvm unalias <name>     //删除已定义的别名

  nvm reinstall-packages <version>   //在当前版本 node 环境下,重新全局安装指定版本号的 npm 包

npm

  • 描述:
    npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。

  • 使用:

sudo npm install npm -g
npm install xxx  //安装模块如不指定版本号,默认会安装最新的版本,安装但不写入package.json
npm install xxx 0.0.1  //安装指定版本的模块
npm install --save xxx //安装并把模块的版本信息保存到dependencies(生产环境依赖)中,即你的package.json文件的dependencies字段中
npm install --global xxx
npm install --save-dev xxx //安装并把模块版本信息保存到devDependencies(开发环境依赖)中,即你的package.json文件的devDependencies字段中
npm install --save-optional xxx //安装并把模块安装到optionalDependencies(可选环境依赖)中,即你的package.json文件的optionalDependencies字段中
npm install --save-exact xxx //精确的安装指定版本的模块,dependencies字段里每个模块版本号前面的^会取消掉

其他命令:
npm init //在当前目录生成一个package.json文件,这个文件中会记录一些关于项目的信息,比如:项目的作者,git地址,入口文件、命令设置、项目名称和版本号等等,一般情况下这个文件是必须要有的,方便后续的项目添加和其他开发人员的使用。
npm list 或 npm ll 或 npm la 或 npm ls  //列出已安装模块, ll 、 ls 、 la 三个命令意思都一样,但是列表的展示方式不一样
npm show xxx  //显示模块详情
npm update  //升级当前目录下的项目的所有模块
npm update xxx  //升级当前目录下的项目的指定模块
npm update -g xxx  //升级全局安装的指定模块
npm uninstall xxx  //删除指定的模块

yarn

  • 描述:
    Yarn 是 Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。就像我们可以从官方文档了解那样,它的目的是解决这些团队使用 npm 面临的少数问题,即:
    1.安装的时候无法保证速度/一致性
    2.安全问题,因为 npm 安装时允许运行代码
    Yarn 同样是一个从 npm 注册源获取模块的新的 CLI 客户端。注册的方式不会有任何变化 —— 你同样可以正常获取与发布包。

  • 使用:

npm install -g yarn  //安装yarn
brew install yarn   //Mac 可以使用Homebrew安装
yarn --version  //获取yarn版本
yarn init  
yarn add  //添加依赖
yarn add less less-loader --dev  //添加dev依赖
yarn remove   //移除
yarn dev/build

其他命令
yarn list  //查询依赖
yarn list --depth=0 //添加参加只显示一级依赖
yarn why bytes //查询安装原因(依赖关系)
yarn upgrade  //升级包
yarn outdated //查询已过时的安装包

fvm

  • 描述:
    主要是管理flutter的sdk版本,跟nvm一样。nvm是管理node.js版本。

  • 使用

安装:
1.首先,添加homebrew的tap源:
  brew tap dashixiong91/fvm
2.添加完tap之后,你可以安装fvm
  brew install fvm
3.拷贝以下内容到你的 .bashrc|.zshrc ... 文件中
  export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
  export FVM_DIR="$HOME/.fvm"
  source "/usr/local/opt/fvm/init.sh"
3.1如果是M1
# This loads flutter
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export FVM_DIR="$HOME/.fvm"
source "/opt/homebrew/opt/fvm/init.sh"  # This loads fvm


命令:
fvm --help //打印帮助信息
fvm install  x.x.x //下载对应版本
fvm use x.x.x  //使用对应版本
fvm alias xxx  //设置别名
fvm list   //列出已安装所有版本
fvm list-remote [release_type]    //列出已发布
    

总结:

nrm主要控制和切换npm的镜像源,nvm主要是做node的版本切换处理,fvm主要是做flutter sdk版本切换处理,npm和yarn主要做项目中依赖的库的管理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342