gpt4 book ai didi

github - 从 fork 的 git 安装 gem - 看起来它已经安装好了,但它不在 gem 列表中,而且我不需要它

转载 作者:行者123 更新时间:2023-12-01 02:42:28 25 4
gpt4 key购买 nike

对不起,如果这是重复的,我已经看到了几个关于 bundler 和 git 的问题,但不太明白。

我在 github 上 fork 了一个 gem - 我的 fork 是 https://github.com/toastkid/contentapi-ruby
在我的 Gemfile 中,我更改了 gem 行以使用 :git 选项,指向我的新叉:
gem "guardian-content", :git => "git://github.com/toastkid/contentapi-ruby.git"
然后我做了
bundle update guardian-content ,它说
Using guardian-content (0.2.2) from git://github.com/toastkid/contentapi-ruby.git (at master)
我认为这意味着我现在可以安装 gem,但我没有:它不在 gem list 中,而且我不能在 ruby​​ 控制台中要求 gem。

我读到 github 不再进行 gem 托管。我不是 100% 知道这实际上意味着什么(gem 托管而不是托管 gem 的源代码?)。所以,我将我的 fork 克隆到我的机器上,并在那里构建它。然后,我将 Gemfile 中的行更改为指向包含 gemspec 文件的本地文件夹:
gem "guardian-content", :path => './gems/contentapi-ruby'
然后我做了
bundle update guardian-content
又一次,这一次它说
Using guardian-content (0.2.2) from source at ./gems/contentapi-ruby
gem list 中仍然没有守护者内容 gem ,还是不能要求。

谁能让我直截了当?我如何在 bundle 安装中使用我的 fork (理想)或本地构建(如有必要)gem?我将把它部署到我的服务器上,所以需要让它以可靠的方式工作。

谢谢,最大

最佳答案

在 Bundler 中使用来自 git(或带有 :path 的本地文件系统)的 gems 不会将它们安装到您的 GEM_HOME,因此它们不能以通常的方式供 RubyGems 使用,但它确实使 Bundler 可以使用它们,只要它们'在 Gemfile 中。

如果您想在 irb 中包含 gem,请确保 Gemfile 和 Gemfile.lock 在当前目录中,并且(在 irb 中)执行以下操作:

require `bundler/setup'
require 'guardian-content'

根据您的 Ruby/RubyGems 版本(以及您的 $RUBYOPT),您可能需要 require 'rubygems'在你之前 require 'bundler/setup'

关于github - 从 fork 的 git 安装 gem - 看起来它已经安装好了,但它不在 gem 列表中,而且我不需要它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7859752/

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