Homebrew、gem、npm、yarn、bundle

HJWZYY 2020-04-24

Homebrew、gem、npm、yarn、bundle

Homebrew - macOS 系统中管理软件与环境的命令行工具

打开终端执行 Homebrew 的指令,便可以轻松安装 Python,Node.js,Java,MySQL 等执行环境,安装 Chrome,WeChat 等海量的应用程序,接纳 Postman,VSCode 等开源社区的优秀产品。基本上所有东西都可以用 brew 来安装。

  • Homebrew 的简历说明

Homebrew 是适用于 macOS「或 Linux」的包管理器。简单理解:包「Package」,除操作系统外的程序文件的集合,应用程序如 Chrome 可以称为包,编译器与执行环境如 Python 可以称为包,字体文件如 FiraCode 可以称为包。Homebrew 本身也是一个包,用于管理操作系统所安装的包,是通过终端操作的应用商店。

了解这些基本概念,相比从应用商店或各类网站下载安装应用程序、从 Github 下载编译安装开源产品、在命令行直接执行安装指令,使用 Homebrew 有这些优势:

  • brew install安装各类环境、库、编译器等。

  • brew cask install安装 macOS 应用,字体和插件以及其他非开源软件。

  • brew upgrade与brew cask upgrade承包了所有包的「一键更新」。

对于高阶用户,Homebrew 还有这些优势:

  • 包将安装到 Homebrew 自己的目录,然后将其文件符号链接到/usr/local。

  • Homebrew 不会在其前缀之外安装文件,可以在任意位置放置 Homebrew 的根目录。

  • 使用 Git 和 Ruby 为操作单元,可以轻松还原所做的修改并合并上游更新。 轻松创建、发布自己的 Homebrew 软件包。

终端安装 Homebrew:

与一般的应用程序安装过程不同,Homebrew 不存在安装包,需要通过终端指令进行安装(或可以下载源码,自行编译安装)。安装流程见官网,只需要保持互联网连接,打开终端,将一句指令复制粘贴,回车键,便开始了安装过程。由于指令可能存在变动,这里不直接给出,建议打开官网查看

Homebrew 指令使用

这就是一个使用终端交互的应用商店。正常安装一个应用程序,先搜索,找到名称点击安装,安装完成。之后便是检查当前安装的应用列表,更新应用、删除应用。这些操作都对应了各自的指令,并拥有自己的表达式规则。简单理解:指令,终端键入的一句话,代表了一段执行的程序,翻译后由对应的包进行指令执行,完成所代指的功能。

Example usage:
  brew search [TEXT|/REGEX/] # 搜索软件包
  brew info [FORMULA...] # 查看某个软件包的信息
  brew install FORMULA... # 安装软件包的指令
  brew update # 更新Homebrew自己
  brew upgrade [FORMULA...] # 更新软件包的指令
  brew uninstall FORMULA... # 卸载软件包的指令
  brew list [FORMULA...] # 查看当前安装的软件包

Troubleshooting:
  brew config # 查看Homebrew的配置
  brew doctor # 做个体检
  brew install --verbose --debug FORMULA # 安装失败时使用这条指令重新安装,查看错误信息

Contributing:
  brew create [URL [--no-fetch]] # 高阶用法
  brew edit [FORMULA...] # 高阶用法

Further help:
  brew commands # 查看所有指令
  brew help [COMMAND] # 查看具体某条指令的帮助
  man brew # Homebrew的manual

Gem gem,rvm,bundle

手工装各种ruby库用gem,rvm是装各种版本ruby的,是个ruby版本管理器,bundle是rails框架里面安装Gemfile指定的各种库的工具。 gem和bundle是装的同样的东西,rvm是装ruby。

NPM是随同NodeJS一起安装的包管理工具

能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。

  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。

  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

npm 由三个独立的部分组成:

  • 网站

网站 是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。

  • 注册表(registry)

注册表 是一个巨大的数据库,保存了每个包(package)的信息。

  • 命令行工具 (CLI)

CLI 通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。

yarn简介:

yarn是facebook发布的一款取代npm的包管理工具。

yarn的特点:
  • 速度超快。
  • Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
  • 超级安全。
  • 在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。
  • 超级可靠。
  • 使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作。

yarn安装:

macos下安装
    brew install yarn

下载node.js,使用npm安装
    npm install -g yarn
    yarn --version

Yarn 淘宝源安装,分别复制粘贴以下代码行到黑窗口运行即可
    yarn config set registry https://registry.npm.taobao.org -g
    yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g

yarn常用命令:

安装yarn
    npm install -g yarn

安装成功后,查看版本号:
    yarn --version

全局安装包
    yarn golbal add <package>

创建文件项目

创建文件夹 yarn
    md yarn
进入yarn文件夹
    cd yarn
初始化项目
    yarn init // 同npm init,执行输入信息后,会生成package.json文件

yarn的配置项:
    yarn config list// 显示所有配置项
    yarn config get <key>//显示某配置项
    yarn config delete <key> //删除某配置项
    yarn config set <key> <value> [-g|--global] //设置配置项
    yarn global list //获取yarn安装包列表

安装包:
    yarn install //安装package.json里所有包,并将包及它的所有依赖项保存进yarn.lock
    yarn install --flat //安装一个包的单一版本
    yarn install --force //强制重新下载所有包
    yarn install --production //只安装dependencies里的包
    yarn install --no-lockfile//不读取或生成yarn.lock
    yarn install --pure-lockfile //不生成yarn.lock

添加包(会更新package.json和yarn.lock):

    yarn add [package]// 在当前的项目中添加一个依赖包,会自动更新到package.json和yarn.lock文件中
    yarn add [package]@[version] // 安装指定版本,这里指的是主要版本,如果需要精确到小版本,使用-E参数
    yarn add [package]@[tag] // 安装某个tag(比如beta,next或者latest)

//不指定依赖类型默认安装到dependencies里,你也可以指定依赖类型:
    yarn add --dev/-D// 加到 devDependencies
    yarn add --peer/-P // 加到 peerDependencies
    yarn add --optional/-O // 加到 optionalDependencies

//默认安装包的主要版本里的最新版本,下面两个命令可以指定版本:
    yarn add --exact/-E// 安装包的精确版本。例如yarn add 会接受1.9.1版,但是yarn add  --exact只会接受1.2.3版
    yarn add --tilde/-T// 安装包的次要版本里的最新版。例如yarn add  --tilde会接受1.2.9,但不接受1.3.0

发布包
    yarn publish
移除一个包
    yarn remove <packageName>:移除一个包,会自动更新package.json和yarn.lock

更新一个依赖
    yarn upgrade用于更新包到基于规范范围的最新版本

运行脚本
    yarn run 用来执行在 package.json 中 scripts 属性下定义的脚本

显示某个包的信息
    yarn info <packageName> 可以用来查看某个模块的最新版本信息

缓存
    yarn cache
    yarn cache list # 列出已缓存的每个包
    yarn cache dir # 返回 全局缓存位置
    yarn cache clean # 清除缓存

yarn和npm比较

Homebrew、gem、npm、yarn、bundle

相关推荐