本文主讲,Mac中使用gem命令来安装、移除某个Ruby库。
我是做iOS开发的,经常会用到CocoaPods,不了解CocoaPods的,我建议去官网( https://cocoapods.org )看看,相对来说是全面的。
首先,简单介绍下背景。
RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找、安装、升级和卸载软件包,非常的便捷。
本文基于你的Mac已经安装了RVM、Ruby(自带Gem)环境。
先查看你已经安装了哪些Ruby库,终端中 gem list
以我的电脑为例,效果如下图所示:
使用gem来安装Ruby库,有两种方式。
1、gem install libName -v versionNumber
比如:gem install cocoapods-packager -v 1.5.0
2、sudo gem install libName -v versionNumber
比如:sudo gem install cocoapods -v 1.2.1
如果gem install cocoapods-packager,默认会安装最新版本,建议查看好你需要的版本再安装。
相对应的,移除某个Ruby库,也有两种方法,需注意的是怎么安装的,怎么移除。
1、gem uninstall libName -v versionNumber
比如:gem uninstall cocoapods-packager -v 1.5.0
2、sudo gem install libName -v versionNumber
比如:sudo gem uninstall cocoapods -v 1.2.1
请确保当你安装和使用vmc时候使用带Ruby功能的命令提示符窗口,从Windows的“开始”菜单中的“所有程序”→“Ruby<VERSION>→启动命令提示符使用Ruby"。最后,从Ruby命令提示符更新RubyGems
prompt>gem update --system
Windows Gemfiles支持
一旦你安装了Ruby,你可以按照说明来部署app和使用Gemfile,部署Ruby应用到Cloud Foundry
Windows用户要注意以下几点:
当Windows机器上生成Gemfile.lock文件,它往往包含与Windows匹配特定版本的gems,例如mysql2,thin,PG含有“-X86-mingw32的”的后缀。
例如,在Windows机器上运行包安装用的Gemfile,看起来像这样:
gem 'sinatra'
gem 'mysql2'
gem 'json'
结果是Gemfile.lock看起来如下:
GEMremote: http://rubygems.org/specs: json (1.7.3) mysql2 (0.3.11-x86-mingw32) rack (1.4.1) rack-protection (1.2.0)rack sinatra (1.3.2)rack (~>1.3, >= 1.3.6)rack-protection (~>1.2)tilt (~>1.3, >= 1.3.3) tilt (1.3.3)PLATFORMSx86-mingw32DEPENDENCIESjsonmysql2sinatra
Cloud Foundry能够正确地安装这些gems,而不需要修改你的Gemfile.lock