做rails开发通常需要gem install xxx/bundle install安装依赖的gems,我们通常访问这两个gem server:
http://rubygems.org
– ruby官方的gem server
http://gems.github.com
– github上托管的gem,包含很多第三方的gem,通常比rubygems.org上的还要多。
最近国外网络访问老是不正常,安装gem包相当痛苦。昨晚尝试搭建搭建自己的gem server,解决团队成员安装gem的问题,有两种办法如下:
1. 最简单的:gem server
先看下gem server的帮助:
$ gem server -h
$ ... Documentation and gem repository HTTP server ...
帮助文档很清楚的告诉我们,gem server启动后可以访问帮助文档,同时也提供gem repository服务;
我在开发机dev.freetest上做了尝试,默认在8808端口启动,结果成功了。
现在可以在浏览器中访问http://dev.freetest:8808
gem文档,也可以安装gem。
$ gem server --daemon
$ gem install rails --source http://dev.freetest:8808
(为什么要使用开发机做gem server? 很明显开发机的gem有可能比生产环境的要丰富,适合用作开发的gem repository;)
如果发现开发机新安装了gem,请重启gem server
2. 使用nginx搭建 gem server
也是在dev.freetest上做尝试:
首先创建gem-repo
$ mkdir /home/rails/gem-repo
$ mkdir /home/rails/gem-repo/gems
$ cp /opt/ruby-enterprise/lib/ruby/gems/1.8/cache/*.gem /home/rails/gems-repo/gems
$ gem install builder
# 创建gem index,如果新安装了gem,则重新执行下面的命令
$ gem generate_index -d /home/rails/gems-repo/
马上,你会看到如下的信息:
Loading 1 gems from /var/www/gems-repo
.
Loaded all gems
Generating quick index gemspecs for 1 gems
.
Complete
Generating specs index
Generating latest specs index
Generating quick index
Generating latest index
Generating Marshal master index
Generating YAML master index for 1 gems (this may take a while)
.
Complete
Compressing indicies
然后添加到nginx
$sudo vi /opt/nginx/conf/nginx.conf ;
# 添加到nginx配置中
server {
listen 81;
server_name gems.dev.freetest;
root /home/rails/gems-repo;
}
$ sudo /opt/nginx/sbin/nginx -s reload ;#重启nginx
然后你就可以从http://gems.dev.freetest:81
上面安装gem了
如果使用bundle install,请修改Gemfile:
source ‘dev.freetest:8808′
3 特别注意:服务器与客户机的gem版本要匹配!
接下来,在另外一台机器上测试安装gem,结果发现安装不了,出现超时问题,郁闷了好久,最后发现是gem 版本不匹配:
#客户机
$ gem -v
$ 1.7.2
#gem server: dev.freetest
$ gem -v
$ 1.3.7
安装特定版本的gem
版本不一定要严格相同,我的尝试是1.3.7 – 1.5都能匹配。
$ gem update --sytem 1.3.7
#如果使用了rvm,则:
$ rvm rubygems remove
$ rvm rubygems 1.3.7
from: http://qa.taobao.com/?p=12981
分享到:
相关推荐
rubygem-rdoc-4.0.0-33.el7_4.noarch.rpm
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用
Rubygem 1.3.4 是 Ruby 语言的一个重要组件,它是 Ruby 的包管理器,用于简化 Ruby 库和应用程序的安装、更新和卸载过程。这个版本的 gem 工具在 Ruby 社区中扮演着至关重要的角色,因为它允许开发者高效地管理和...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
离线安装包,亲测可用
官方离线安装包,亲测可用
**Rubygem-Cucumber-Tag-Expressions 深度解析** Rubygem-Cucumber-Tag-Expressions 是一个用于 Cucumber 的扩展库,它为 Cucumber 的标签(tag)表达式提供了更加强大的支持。Cucumber 是一个行为驱动开发(BDD)...
这个“rubygem-2.6.7.tgz”文件是一个压缩包,包含了RubyGems的特定版本——2.6.7。这个版本的RubyGems在2017年发布,是许多开发人员在那时广泛使用的稳定版本。下面将详细讨论RubyGems及其2.6.7版本的关键特性、...
官方离线安装包,亲测可用
离线安装包,亲测可用
install command:ruby setup.rb && bin/gem /usr/local/bin
官方离线安装包,亲测可用
visualCaptcha-rubyGem 用于visualCaptcha后端服务的RubyGem包 用宝石安装 您需要安装Ruby 1.9.3+。 gem install visual_captcha 运行测试 您需要安装Bundler和Rake,然后才能运行 bundle install && rake 用法 ...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装