gpt4 book ai didi

ruby - 私有(private) gem 服务器 - 在服务器上找不到依赖项 (404)

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

RubyGems site让运行私有(private) gem 服务器听起来很容易!

我的测试设置是这样的:一个 AWS EC2 实例是我的工作站,另一个设置为 gem 服务器。

在 gem 服务器实例上,我安装了 pry gem。如果我在该实例上运行 gem server 并在我的网络浏览器中访问公共(public) DNS,我可以在 gem 列表中看到 pry 和所有依赖项。

在我的工作站上,我用一个简单的 Gemfile 创建了一个假的应用程序目录:

source "http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808"

gem "pry"

看起来很简单!但是,当我在工作站上运行 bundle install 时,出现以下错误:

[ec2-user@ip-172-31-20-246 my_app]$ bundle
Fetching source index from http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/
Resolving dependencies...

Gem::RemoteFetcher::FetchError: bad response Not Found 404 (http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/gems/coderay-1.1.1.gem)

Gem::RemoteFetcher::FetchError: bad response Not Found 404 (http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/gems/method_source-0.8.2.gem)

Gem::RemoteFetcher::FetchError: bad response Not Found 404 (http://ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com:8808/gems/slop-3.6.0.gem)
Using bundler 1.12.5
An error occurred while installing coderay (1.1.1), and Bundler cannot continue.
Make sure that `gem install coderay -v '1.1.1'` succeeds before bundling.

因此它似乎识别出 pry 可用,但未找到以 coderay 开头的依赖项(404 错误)。

我在运行 gem server 时修改了 --dir 标志,使其看起来像这样:

gem 服务器 --dir=/home/ec2-user/.gem/ruby/2.0 --dir=/usr/share/ruby/gems/2.0 --dir=/home/ec2-user/.gem/ruby/2.0/cache/

...我什至进入这些目录并运行 gem generate_index 正如我在另一个问题上看到的建议,但我仍然无法安装 pry我的工作站使用这个私有(private)服务器作为 source

有什么我想念的吗??

最佳答案

几乎每个 gem 都依赖于其他 gem 。当您只想从私有(private) gem 服务器安装 gems 并且您不允许使用位于 https://rubygems.org 的默认服务器作为后备时,您必须确保所有其他服务器正确版本的 gem 也可以在您的私有(private) gem 服务器上使用。

可以查看the pry page on rubygems查看它的依赖项。当前 pry ('0.10.3') 取决于:

  • coderay ('~> 1.0.0')
  • method_source ('~> 0.8.1')
  • 插槽 ('~> 3.4')

也使此依赖项在您的私有(private) gem 服务器上可用,以删除该 gem 的 Gem::RemoteFetcher::FetchError: bad response Not Found 404 错误。

在下一步中,您需要更深入地挖掘并使所有 gem 可用这三个 gem 依赖于:coderay 没有外部依赖性,但是 method_source 有一些,也安装它们。继续,直到依赖树中不再缺少 gem。

关于ruby - 私有(private) gem 服务器 - 在服务器上找不到依赖项 (404),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38137084/

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