2012-08-03 74 views
2

我想建立我自己的私人宝石服务器应该服务我的宝石和显示rdoc。正如我读过的,默认的gem服务器应该能够做到这一点。而且因为我不想让除了我自己的所有宝石宝石服务器上持续显示我做了以下内容:宝石服务器将不会服务的宝石

gem install -i /some/dir --ignore-dependencies my-special.gem 
gem server -d /some/dir # -d should let me set my gem dir 

但首先,创业板服务器仍然会显示所有已安装的系统,宝石和不显示里面有什么some/dir。第二,努力做时:

gem install --source http://localhost:8808 my-special.gem 

我只得到了以下讯息话题:

ERROR: Could not find a valid gem 'my-special' (>= 0) in any repository 
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) 
     bad response Gateway Time-out 504 (http://localhost:8808/latest_specs.4.8.gz) 

我也得到了即使是那些获得在

显示的创建宝石服务器页面上的宝石
http://localhost:8808 

我在做什么错?有些博客提到用gem generate_index来更新索引,但这没有意义,因为此工具预计*.gem文件位于/gems子目录中,但默认情况下它们将登录到/cache

回答

0

我很容易解决这个问题。

我什至不使用专用的宝石服务器。

我做了以下内容:

  1. 创建您的Apache Web服务器上的目录是可投放,并在其中创建一个子目录gems。例如:cp /my/gems/dir/*.gem /var/www/rubygems/gems

  2. 生成的创业板指数: mkdir -p /var/www/rubygems/gems

  3. 把你想要用来创建gems子目录中的所有宝石 gem generate_index -d /var/www/rubygems

  4. 不要忘了调整访问权限,使您的网络服务器可以读取内容

信息:索引必须在包含gems子目录的目录中生成,而不是在gems目录本身中生成!在这种情况下,它是/var/www/rubygems

现在,您可以添加http://<my-gem-server>.domain/rubygems到您的宝石来源

+0

我得到我做宝石generate_index -d E中的同样的错误:\ gemserver。它说7个宝石添加你可以遵循http://help.rubygems.org/discussions/problems/1422-gem-server-is-not-serving-gems上的所有日志文件,但我无法解决它。仍然在cmd上获得504。我在IIS服务器上托管我的网站 – 2012-11-28 10:23:00

+0

虽然我可以手动下载文件,但是当我尝试从cmd它给504错误的网关 – 2012-11-28 10:27:26