网站大量收购闲置独家精品文档,联系QQ:2885784924

《rubugems_mirror_实现本地gem源镜像服务器》.pdf

《rubugems_mirror_实现本地gem源镜像服务器》.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《rubugems_mirror_实现本地gem源镜像服务器》.pdf

2013/11/06 13:54 1/7 rubugems_mirror 实现本地gem源镜像服务器 ruby rubugems_mirror 实现本地gem源镜像服务器 系统环境:CentOS-6.4-x86_64-minimal 软件包:rubygems 本文参考rubygems官方指南, 介绍了实现gem源镜像的两种方法. 使用内置的gem server 运行命令: gem server 会得到一个gem服务器http://localhost :8808, 可以提供本机上所有已安装的gem包. 如果安装了所有gem包, 自然可以得到一个gem完整镜像. 例如: gem list -r | awk {print class=code} | xargs gem install -r 经实践,此方法有多个缺点, gem包数量巨大安装速度过慢, 磁盘空间占用量大, gem包新增速度快不易同步, 而且不能提供所有的gem包版本. 本方法适用于对内部提供某些特定gem包及版本的内部gem服务器. 使用 rubygems-mirror 使用geminabox和rubygems-mirror可以实现的完整镜像,参考: /questions/8411045/how-to-build-a-rubygems-mirror-server 安装rubygems-mirror gem install rubygems-mirror -r 编辑~/.gem/.mirrorrc 在主目录下的.gem 目录内创建.mirrorrc文件,内容如下: Vimos Wiki - :8000/ Last update: 2013/09/17 03:48 os:rubygems_mirror :8000/os/rubygems_mirror - from: / to: /opt/rubygems 其中/opt/rubygems是gem镜像存储目录,创建/opt/rubygems 目录 mkdir -p /opt/rubygems 开始镜像 按已知信息,此时执行命令gem mirror 即可对进行镜像. 实际操作过程中,gem mirror只对 gems/*.gem specs.version.gz specs.version这些文件做了 镜像. 在最后启动镜像服务器提供服务时,会遇到类似下面404缺少文件的错误: GET /latest_specs.4.8.gz HTTP/1.1 404 - 0.0010 HEAD /specs.4.8.gz HTTP/1.1 200 1323264 0.0010 HEAD /Marshal.4.8 HTTP/1.1 404 - 0.0010 GET /quick/Marshal.4.8/net-ssh-2.6.7.gemspec.rz HTTP/1.1 404 - 0.0020 原因是索引文件没有全部同步,参考: /2008/08/01/creating-your-own-gem-server-redux 执行gem help generate_index,部分输出如下: Description: The generate_index command creates a set of indexes for serving gems statically. The command expects a gems directory under the path given to the --directory option. The given directory will be the directory you serve as the gem repository. For `gem generate_index --directory /path/to/repo`, expose /path/to/repo via your HTTP server configuration (not /path/to/repo/gems). When done, it will generate a set of files like this: gems/*.gem # .gem files you want to

文档评论(0)

ycwf + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档