本文介绍了Ruby Gem 命令行工具求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。
对技术面试,学习经验等有一些体会,在此分享。
一、背景
1、目前公司项目主工程中充斥着各类脚本,使用起来感觉混乱。
2、公司项目采用了组件化开发,大部分组件中都会包含一些打tag推库的脚本,修改相关脚本涉及范围较大,非常不利于维护。
3、项目一般都会做编译提速,其中组件二进制打包中会涉及到相关的东西,需要自己写一些对应的插件。
4、跟我们工作强相关的主流工具:Homebrew、Fastlane(需要会写插件)、CocoaPods(需要会写插件)。
二、待解决的问题
1、如何用Ruby简单打造一款命令行工具?
2、打造一款类似于CocoaPods的pod命令集
三、相关概念
1、RubyGems:它是 Ruby 的一个包管理器,主要提供分发 Ruby 程序、库的标准格式,此外它还提供管理程序包安装工具。目的是为了更方便地管理 gem 安装,以及用于分发gem的服务器。
2、Gem是 Ruby 模块 (Gems) 的包管理器。它包含了ruby程序包信息以及用于安装的文件。它通常是根据”.gemspec”文件构建,包含了有关Gem信息的YAML文件。
四、Gem目录结构
tree . ├── Rakefile ├── bin │ └── farmer ├── farmer-1.0.0.gem ├── farmer.gemspec ├── lib │ ├── farmer │ │ └── product.rb │ └── farmer.rb └── test └── test_farmer.rb
- bin:添加可执行文件,gem可以将一个或多个可执行文件公开到shell的PATH,只需将文件放在gem的bin目录中,然后在.gemspec中executables配置即可。
- .gemspec:配置文件。
- lib:gem包中的所有代码。
- test:Minitest是Ruby内置的测试框架,test包含测试代码。
- Rakefile:提供了一些运行测试的简单自动化方法,运行rake run或者rake即可执行。
五、Gem安装使用
1、编译:gem build farmer.gemspec
2、安装:gem install farmer-1.0.0.gem
3、查看本地已安装的gem列表:gem list
,添加-r参数可以搜索远程是否存在相同名的命令行工具。
六、Gem发布
1、进入Ruby官方社区rubygems.org注册账号。
2、使用电脑终端(iTerm)登录账号:(只有第一次需要登录,后续直接gem push
发布即可)
curl -u username https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
//username换成自己账号的用户名,执行后按照提示输入账号密码即可。
3、发布:gem push farmer-1.0.0.gem
4、发布完后可在rubygems.org上搜索或在终端执行gem list -r farmer
查看是否发布成功
5、安装官方仓库中的farmer命令行工具:gem install farmer
到此我们已经解决了如何使用Ruby简单打造一款命令行工具的问题。
按照上面的做法,一个命令完全没有问题,但是我们需要一组命令的话目前只有两种方案:
(1)使用一个gem增加多个参数,通过自己解析参数达到实现一组命令的目的。
(2)使用多个gem也能实现这个效果。
由于我们工作中的大部分时间都在和pod打交道,那到底能不能搞个类似pod这么好用的命令集呢?
一、背景
1、目前公司项目主工程中充斥着各类脚本,使用起来感觉混乱。
2、公司项目采用了组件化开发,大部分组件中都会包含一些打tag推库的脚本,修改相关脚本涉及范围较大,非常不利于维护。
3、项目一般都会做编译提速,其中组件二进制打包中会涉及到相关的东西,需要自己写一些对应的插件。
4、跟我们工作强相关的主流工具:Homebrew、Fastlane(需要会写插件)、CocoaPods(需要会写插件)。
二、待解决的问题
1、如何用Ruby简单打造一款命令行工具?
2、打造一款类似于CocoaPods的pod命令集
三、相关概念
1、RubyGems:它是 Ruby 的一个包管理器,主要提供分发 Ruby 程序、库的标准格式,此外它还提供管理程序包安装工具。目的是为了更方便地管理 gem 安装,以及用于分发gem的服务器。
2、Gem是 Ruby 模块 (Gems) 的包管理器。它包含了ruby程序包信息以及用于安装的文件。它通常是根据”.gemspec”文件构建,包含了有关Gem信息的YAML文件。
四、Gem目录结构
tree . ├── Rakefile ├── bin │ └── farmer ├── farmer-1.0.0.gem ├── farmer.gemspec ├── lib │ ├── farmer │ │ └── product.rb │ └── farmer.rb └── test └── test_farmer.rb
- bin:添加可执行文件,gem可以将一个或多个可执行文件公开到shell的PATH,只需将文件放在gem的bin目录中,然后在.gemspec中executables配置即可。
- .gemspec:配置文件。
- lib:gem包中的所有代码。
- test:Minitest是Ruby内置的测试框架,test包含测试代码。
- Rakefile:提供了一些运行测试的简单自动化方法,运行rake run或者rake即可执行。
五、Gem安装使用
1、编译:gem build farmer.gemspec
2、安装:gem install farmer-1.0.0.gem
3、查看本地已安装的gem列表:gem list
,添加-r参数可以搜索远程是否存在相同名的命令行工具。
六、Gem发布
1、进入Ruby官方社区rubygems.org注册账号。
2、使用电脑终端(iTerm)登录账号:(只有第一次需要登录,后续直接gem push
发布即可)
curl -u username https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
//username换成自己账号的用户名,执行后按照提示输入账号密码即可。
3、发布:gem push farmer-1.0.0.gem
4、发布完后可在rubygems.org上搜索或在终端执行gem list -r farmer
查看是否发布成功
5、安装官方仓库中的farmer命令行工具:gem install farmer
到此我们已经解决了如何使用Ruby简单打造一款命令行工具的问题。
按照上面的做法,一个命令完全没有问题,但是我们需要一组命令的话目前只有两种方案:
(1)使用一个gem增加多个参数,通过自己解析参数达到实现一组命令的目的。
(2)使用多个gem也能实现这个效果。
由于我们工作中的大部分时间都在和pod打交道,那到底能不能搞个类似pod这么好用的命令集呢?
一、背景
1、目前公司项目主工程中充斥着各类脚本,使用起来感觉混乱。
2、公司项目采用了组件化开发,大部分组件中都会包含一些打tag推库的脚本,修改相关脚本涉及范围较大,非常不利于维护。
3、项目一般都会做编译提速,其中组件二进制打包中会涉及到相关的东西,需要自己写一些对应的插件。
4、跟我们工作强相关的主流工具:Homebrew、Fastlane(需要会写插件)、CocoaPods(需要会写插件)。
二、待解决的问题
1、如何用Ruby简单打造一款命令行工具?
2、打造一款类似于CocoaPods的pod命令集
三、相关概念
1、RubyGems:它是 Ruby 的一个包管理器,主要提供分发 Ruby 程序、库的标准格式,此外它还提供管理程序包安装工具。目的是为了更方便地管理 gem 安装,以及用于分发gem的服务器。
2、Gem是 Ruby 模块 (Gems) 的包管理器。它包含了ruby程序包信息以及用于安装的文件。它通常是根据”.gemspec”文件构建,包含了有关Gem信息的YAML文件。
四、Gem目录结构
tree . ├── Rakefile ├── bin │ └── farmer ├── farmer-1.0.0.gem ├── farmer.gemspec ├── lib │ ├── farmer │ │ └── product.rb │ └── farmer.rb └── test └── test_farmer.rb
- bin:添加可执行文件,gem可以将一个或多个可执行文件公开到shell的PATH,只需将文件放在gem的bin目录中,然后在.gemspec中executables配置即可。
- .gemspec:配置文件。
- lib:gem包中的所有代码。
- test:Minitest是Ruby内置的测试框架,test包含测试代码。
- Rakefile:提供了一些运行测试的简单自动化方法,运行rake run或者rake即可执行。
五、Gem安装使用
1、编译:gem build farmer.gemspec
2、安装:gem install farmer-1.0.0.gem
3、查看本地已安装的gem列表:gem list
,添加-r参数可以搜索远程是否存在相同名的命令行工具。
六、Gem发布
1、进入Ruby官方社区rubygems.org注册账号。
2、使用电脑终端(iTerm)登录账号:(只有第一次需要登录,后续直接gem push
发布即可)
curl -u username https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
//username换成自己账号的用户名,执行后按照提示输入账号密码即可。
3、发布:gem push farmer-1.0.0.gem
4、发布完后可在rubygems.org上搜索或在终端执行gem list -r farmer
查看是否发布成功
5、安装官方仓库中的farmer命令行工具:gem install farmer
到此我们已经解决了如何使用Ruby简单打造一款命令行工具的问题。
按照上面的做法,一个命令完全没有问题,但是我们需要一组命令的话目前只有两种方案:
(1)使用一个gem增加多个参数,通过自己解析参数达到实现一组命令的目的。
(2)使用多个gem也能实现这个效果。
由于我们工作中的大部分时间都在和pod打交道,那到底能不能搞个类似pod这么好用的命令集呢?
部分转自互联网,侵权删除联系
最新评论