我有一个厨师服务器,我还需要用作Ruby gem服务器。当我运行gem server
时,它会显示Server started at 0.0.0.0:8808
。我可以在浏览器中找到主机名:8808并查看gem服务器索引页面,列出我希望看到的所有gem,但所有其他目录(link)都给出404。我已经尝试过运行gem generate_index和--legacy选项。
该框配置为使用Chef Server的嵌入式gem可执行文件。
# which gem
/opt/chef-server/embedded/bin/gem
# gem env
...
- GEM PATHS:
- /opt/chef-server/embedded/lib/ruby/gems/1.9.1
- /root/.gem/ruby/1.9.1
...
列出/opt/chef-server/embedded/lib/ruby/gems/1.9.1中的内容显示了gem服务器规范中列出的页面的目录(例如gems,quick,specifications)。
我不确定这里的问题是什么。
编辑:我尝试使用geminabox而不是gem服务器。我看到的问题与this github bug中的问题相同,但未解决。
答案 0 :(得分:0)
将Gem目录作为参数传递给服务器:
gem server --dir /opt/chef/embedded/lib/ruby/gems/1.9.1/gems
当前用户的gem env
可能不是您所期望的,这就是您遇到此错误的原因。