gpt4 book ai didi

ruby - gem 服务器不会提供 gem

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:15 28 4
gpt4 key购买 nike

我正在尝试设置我自己的私有(private) 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 中。

最佳答案

我很轻松地解决了这个问题。

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

我做了以下事情:

  1. 在您的 apache 网络服务器上创建一个可服务的目录并创建一个 gems其中的子目录。例如: mkdir -p /var/www/rubygems/gems

  2. 将你想要服务的所有 gem 放入创建的gems子目录:cp /my/gems/dir/*.gem /var/www/rubygems/gems

  3. 生成 gem 索引: gem generate_index -d /var/www/rubygems

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

信息:索引必须在包含 gems 的目录中生成子目录,而不是 gems目录本身!在本例中为 /var/www/rubygems .

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

关于ruby - gem 服务器不会提供 gem ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11796703/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com