gpt4 book ai didi

ruby-on-rails - 自定义本地 gem:Bundler::GemNotFound: 找不到 gem

转载 作者:行者123 更新时间:2023-12-02 19:47:50 24 4
gpt4 key购买 nike

我关注 this tutorial在创建我的第一个 Ruby gem 时。在那里描述的第 4 步结束时,有一个文件 my_gem-0.0.0.gem .目前,我想将这个 gem 保存在本地,所以我尝试将它放在 gems 中。我的 rails 项目根目录下的目录。
Gemfile我添加了这一行:

gem 'my_gem', path: 'gems'
我们使用 Docker,当我尝试启动这个容器时,我发现我的新 gem 没有找到:
Bundler::GemNotFound: Could not find gem 'my_gem' in the source at `gems`
The source does not contain any versions of 'my_gem'
我尝试添加/删除 gem扩展名和 -0.0.1文件名和 Gemfile 中的一部分,但没有任何效果。这里有什么问题?

最佳答案

要使用 Docker,您需要将存储库从 github 克隆到您的自定义文件夹。在下面的示例中,重现我如何使用自定义路径在单独的文件夹中编辑 gem 的步骤:

  • 在我的本地机器上,我使用 / gem 内的文件夹我的 Rails 应用程序文件夹 : mkdir <my-app>/gems .
  • cd <my-app>/gems .
  • git clone <gem-repository-source> .必须克隆,因为如果您从计算机中的其他文件夹复制,可能会丢失一些文件。
  • 设置在您的 gem 文件 : gem '<gem-name>', path: '/bundle/custom_gems/<gem-name>' .
  • 如果使用 docker-compose,则需要用 绑定(bind)文件夹卷 配置,如下所示:
  • volumes:
    - ./app/gems:/bundle/custom_gems
    这样,您的本地文件夹(您的机器)将文件复制到 中。 ./app/gems /bundle/custom_gems 在 Docker 容器中。
  • 重启服务。

  • 如果你 不是 使用 docker-compose,你需要在 Dockerfile 中添加一些像: ADD ./app/gems /bundle/custom_gems

    关于ruby-on-rails - 自定义本地 gem:Bundler::GemNotFound: 找不到 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62659675/

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