我正在尝试设置我自己的私有 gem 服务器,该服务器应该为我的 gem 提供服务并显示 rdoc。正如我所读到的,默认的 gem 服务器应该能够做到这一点。而且由于我不希望在 gem 服务器上显示除我自己以外的所有 gem,因此我正在执行以下操作:
gem install -i /some/dir --ignore-dependencies my-special.gem
gem server -d /some/dir # -d should let me set my gem dir
但首先,gem 服务器仍然显示所有已安装的系统 gem,而不显示里面有什么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)
即使对于在创建的 gem 服务器页面上显示的 gem,我也能做到这一点
http://localhost:8808
我究竟做错了什么?一些博客提到要更新索引,gem generate_index
但这没有任何意义,因为该工具希望*.gem
文件位于/gems
子目录中,但默认情况下它们位于/cache
.