gpt4 book ai didi

ruby - LoadError 通过要求带有 :path or :git 的 gem

转载 作者:数据小太阳 更新时间:2023-10-29 06:52:18 25 4
gpt4 key购买 nike

我遇到了一个非常奇怪的问题。

我在 github 上 fork 了一个 gem 来做一些修改,在我的本地机器上克隆了我的 repo,进行了更改并更改了另一个项目的 Gemfile 以从我的本地存储库中获取 gem 以进行测试。不幸的是,我在我的 ruby​​ 脚本中需要该 gem 时遇到 LoadError。

rvm current => ruby-1.9.3-p448
ruby --version => ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
bundle --version => Bundler version 1.3.5

我的 Gemfile 的内容:

source 'http://rubygems.org

gem 'steps', :path => "/home/benny/workspace/steps"

bundle 输出:

$ bundle --no-cache
Resolving dependencies...

Using colored (1.2)
Using highline (1.6.19)
Using steps (1.0.2) from source at /home/benny/workspaces/steps
Using bundler (1.3.5)
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.


$ bundle show steps
/home/benny/workspaces/steps

通过 irb 测试工作正常:

$ bundle exec irb
1.9.3-p392 :001 > require 'rubygems'
=> false
1.9.3-p392 :002 > require 'steps'
=> true

通过脚本测试不起作用:

$ cat test.rb
require 'rubygems'
require 'steps'

$ ruby test.rb
/home/benny/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- steps (LoadError)
from /home/benny/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from test.rb:2:in `<main>'

我现在很迷茫。如果我在本地 git 仓库或 github 仓库中使用 :git 而不是 :path,也会发生同样的情况。

有什么想法吗?

最佳答案

在运行 test.rb 之前你必须加载 bundler 环境

bundle exec ruby test.rb

关于ruby - LoadError 通过要求带有 :path or :git 的 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18186800/

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