【工具篇】MAC.OSX 包管理工具

1,203 阅读7分钟

安转软件一般都是去官网里面下载安转包,然后点击进行安转。但是其实在 mac系统里面也有一个包管理工具,我们可以通过它去进行命令行的安转,比如安装软件等等。以及前端包管理工具的小技巧。

💂‍♂️前言

  1. homebrew安装
  2. homebre安装nvm,然后安装node
  3. 安装nrm镜像管理工具包
  4. 安装yarn
  5. git安装包mac osx已经内置
  6. commamd+shift+.显示mac隐藏文件

🧟osx概念

  1. 美国苹果公司(Apple .Inc)于WWDC 2013公布的OS X操作系统,版本号10.9,名称Mavericks,意为加利福尼亚州的一处海滩。
  2. 美国苹果公司于WWDC2013公布了下一代OS X产品,OS X Mavericks(冲浪湾)。此次新的OS X系统代号"Mavericks"(冲浪湾,并不是“小牛”,可以理解为新系统发布时的"海浪"背景,但和"小牛"不沾边)。新系统的命名打破了以往产品以猫科动物命名的惯例。
  3. Apple表示"Mavericks"的名称灵感来自北加州一个著名的冲浪景点(Mavericks),因为常常出现d大浪而闻名。尤其在冬天,Mavericks更是众多爱好冒险的冲浪者的好去处。而苹果方面也表示,今后OS X系统均以能给他们带来灵感的加州景点来命名。

👩🏻‍🔧homebrew与npm的区别

  1. homebrew,可以理解成osx的软件管理工具,粗俗点说就是mac界的qq软件助手之类的东西。所以通过brew,安装什么chrome浏览器啊、atom编辑器之类的可视化工具也是可以的哦。
  2. npm,是node.js界的程序/模块管理工具,也就是说npm只管理那些服务于JavaScript社区的程序。而且跨平台,windows和osx,以及其他unix like操作系统都可以用

🥷🏻mac osx系统中包管理软件对比

image.png

Mac OSX系统上有许多优秀的包管理软件能够将Linux上常用的命令工具和依赖安装到系统上。本文主要对比Fink、Macports、Homebrew这3个主流包管理软件。

Fink

Fink是一个希望把越来越多Unix上软件带到Mac OSX系统上的项目。它通过移植软件源码,然后打包成能在Mac OSX系统上执行的二进制进行分发。

Fink依赖于Debian的软件包管理工具(dpkg/dselect/apt-get),因此它将软件包打包成.deb格式。这样做最大的好处就是安装软件是预编译好的,因此无需本机编译

Fink最大的问题在于软件包的更新迭代比较慢,因此要想使用最新版软件包,则需要等待Fink社区更新。

MacPorts

MacPorts依赖于BSD的软件包管理工具(port),它的工作方式是从仓库中下载软件包以及其依赖库,然后在本机中编译安装。

MacPorts的理念是尽量减少对系统现有库的依赖,因此它需要下载许多基础库,然后编译安装到系统中。这样做最大的问题在于下载时间长,编译时间长,最大的好处就是不会破坏系统原有软件包。

Homebrew

Homebrew与MacPorts的工作方式类似,也是从仓库中下载软件包以及其依赖库,然后在本机中编译安装。

Homebrew的理念是尽量使用系统中存在的库,且软件包都安装到/usr/local目录里,最大的好处就是下载编译时间短于MacPorts,安装简单,且无需root用户权限来安装。

image.png

总结

Homebrew几乎快成为Mac OSX系统下事实上的标准软件包管理工具了。忘了Fink,因为它太老了,软件包更新迭代也不及时。尽量不要将MacPorts与Homebrew同时安装到系统中,因为他们有时候会有冲突。

👩🏻‍🔧homebrew

homebrew扫盲:blog.csdn.net/weixin_5687…

image.png

homebrew安装

视频介绍:www.bilibili.com/video/BV1dr…idfrom=333.337.search-card.all.click

国内homebrew镜像地址:gitee.com/cunkai/Home…

image.png

/bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

配置镜像地址:

image.png

homebrew基本命令

  1. 安装软件:brew install xxxx

  2. 卸载软件:brew uninstall xxx

  3. 搜索软件: brew search xxx

  4. 更新软件:brew uprade xxx

  5. 查看安装软件路径:brew list xxx, brew list

image.png

homebrew安装nvm(示例)

通过homebrew安装软件


Plain Text brew install nvm

配置环境变量:

参考文章:

  1. blog.csdn.net/handsomefuh…

  2. blog.csdn.net/weixin_3992…

image.png

image.png

安装nvm总结一步:就是跟着控制台提示走~🤡

nvm命令

nvm 命令 命令作用

nvm --help 展示帮助

nvm --version 已安装的nvm版本

nvm install version 下载对应的 node 版本(version)

nvm install --reinstall-packages-from= 重新安装对应的 node 版本

nvm install --lts 仅从LTS版本中选择安装

nvm install --lts= 仅从特定LTS系列的版本中选择

nvm install --skip-default-packages 跳过默认软件包文件

nvm install --latest-npm 安装后,在给定的节点版本上升级到最新的npm

nvm install --no-progress 没有下载进度条

nvm uninstall 卸载对应的 node 版本

nvm uninstall --lts 卸载LTS版本

nvm uninstall --lts= 卸载指定的LTS 版本

nvm use 使用对应的 node 版本

nvm use --lts 使用LTS 版本

nvm use --lts= 使用指定的LTS 版本

nvm list 展示安装的 node 版本 (可以简写为nvm ls)

nvm list // 显示已安装的版本(同 nvm list installed)

nvm list installed // 显示已安装的版本

nvm list available // 显示所有可以下载的版本

nvm list-

nvm current 显示当前节点的激活版本

nvm version 展示当前的 node 版本

nvm exec [–silent] [] 使用指定的 版本运行 command命令

nvm run [–silent] [] 使用指定的版本运行 args

nvm alias 对 version 版本设置一个别名

nvm unalias 删除这个别名

nvm install-latest-npm 在当前node 版本上升级最新的npm版本

nvm reinstall-packages 将version版本中的全局安装包安装到当前版本中

nvm unload 从shell中卸载nvm

nvm on 开启node版本管理

nvm off 关闭node版本管理

nvm node_mirror [url] 设置node镜像

nvm npm_mirror [url] 设置 npm 镜像

nvm alias default v14.17.0 设置默认版本的node
  • nvm使用过程中遇到的问题

参考文章 blog.csdn.net/qq_23191031…

Mac & Linux下 nvm ls-remote只显示iojs

image.png

🤠mac快捷键技巧

显示隐藏的文件以及文件夹

image.png

🤥mac osx系统小知识

mac系统中部分是已经安装过git,通过which git就可以查询到你git的安装路径!在隐藏文件中!

image.png

查看node位置

image.png

🧐镜像管理工具

前言

前面了解到mac osx系统中homebrew是mac osx系统中的软件管理工具,他相当于手机中的应用市场,你可以通过命令行的方式去下载卸载软件。

同时我们前面我们通过homebrew的brew install nvm命令行去下载的node的包管理工具,我们可以通过nvm去管理我们本地的node版本,在版本之间进行来回的切换!但是有时候我们去下载node或者去安装某些依赖的时候访问国外的仓库会非常的慢,那么我们就需要nrm(npm的镜像管理工具),yrm(yarn的镜像管理工具)

npm查看设置镜像


Plain Text 1)npm查看当前源:

npm get registry

2)npm设置淘宝镜像源:

npm config set registry http://registry.npm.taobao.org

3)npm设置官方源:

npm config set registry http://www.npmjs.org

nrm安装

npm install -g nrm

nrm相关命令

nrm ls

image.png

nrm use taobao
nrm current //当前node版本 nrm test //测速 nrm -V //查看版本
nrm add [源的别名] [源的地址] :添加私有源。eg: nrm add qihoo http://registry.npm.360.org nrm test [源的别名] :测试某个源 nrm del [源的别名] :删除某个源

nrm使用时遇到的问题,最新版nrm(2022.04.12)

segmentfault.com/q/101000004…

切换不生效问题解决方法:

npm uninstall -g nrm npm i -g @adams549659584/nrm

yrm安装

blog.csdn.net/p1967914901…

npm获取全局安装默认目录

npm config get prefix

image.png

npm清除缓存

npm cache clear --force

qnm(node_modules检查工具)

npm install -g qnm 

qnm参考文章