创建自己的gem并上传到github
创建自己的gem并上传到github
环境:centos7,git version 1.8.3.1
一 创建gem
#gem install bundler
2使用bundler 创建gem所需的框架
#bundler gem file_manipulate
3修改file_manipulate.gemspec文件
#vim file_manipulate.gemspec
(主要修改了描述和概要,因为RubyGem实际上不会让spec中的描述包含”TODO“的包,打包至gem中)
修改后的file_manipulate.gemspec文件内容如下:
# coding: utf-8
lib = File.expand_path(‘../lib‘, __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require ‘file_manipulate/version‘
Gem::Specification.new do |spec|
spec.name = "file_manipulate"
spec.version = FileManipulate::VERSION
spec.authors = ["liyongkuan"]
spec.email = ["[email protected]"]
spec.summary = %q{This is a file manipulate library}
spec.description = %q{This is a file manipulate library}
spec.homepage = "http://blog.csdn.net/li_yong_kuan"
spec.license = "MIT"
spec.files = `git ls-files -z`.split("\x0")
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]
spec.add_development_dependency "bundler", "~> 1.7"
spec.add_development_dependency "rake", "~> 10.0"
end
4编写lib/file_manipulate.rb文件,把这个文件处理成只是引入库文件的文件
#vim lib/file_manipulate.rb
内容如下:
require "file_manipulate/version"
require "file_manipulate/file_manipulate"
5在lib/file_manipulate下新件file_manipulate.rb文件,在里面写具体做什么事
#touch file_manipulate.rb
6在file_manipulate.rb中编写具体方法,保存退出
#vim file_manipulate.rb
7提交到git
#git add .
#git commit -m "Create a document library operation"
8打包gem
#gem build file_manipulate.gemspec
或者
#rake build
执行完成以后会生成 : file_manipulate-0.0.1.gem
二 上传到github服务器
详情链接:https://help.github.com/articles/create-a-repo/
2创建密钥
详细链接:https://help.github.com/articles/generating-ssh-keys/
#ssh-keygen -t rsa -C "[email protected]"
创建结束后会在你的主目录的.ssh 下生成私钥和公钥,我的在
/home/oss/.ssh下(.ssh 是隐藏文件,#ls -a可以查看到)
3复制公钥到github上创建的ssh上,然后自己起一个名字(名字随你自己取)
4进入到我们前面创建的file_manipulate文件下
#cd file_manipulate
5创建url链接的别名
#git remote add kuange [email protected]:liyongkuan/file_manipulate.git
([email protected]:liyongkuan/file_manipulate.git是操作1创建的仓库ssh地址,在github上可以直接复制)
6把本定项目上传到github上
#git push kuange master
(kuange 是上一步创建的链接别名)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。