【问题标题】:Ruby not recognising gems from local source, included in GemfileRuby 无法识别来自本地源的 gem,包含在 Gemfile 中
【发布时间】:2016-07-17 12:34:26
【问题描述】:

我之前在使用本地来源的 gem 时遇到了一些问题,因此设置了一个简单的测试项目。我之前没有安装过simple-rss。这是我的 Gemfile:

source 'https://rubygems.org'

gem 'simple-rss', :path => '~/code/simple-rss'

然后我运行bundle install,它告诉我:

Using simple-rss 1.2.3 from source at `~/code/simple-rss`
Using bundler 1.12.4
Bundle complete! 1 Gemfile dependency, 2 gems now installed.

然后我将 test.rb 放在与 Gemfile 相同的文件夹中。 test.rb 文件现在只有require

require 'simple-rss'

我运行ruby test.rb,得到这个错误:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- simple-rss (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from test.rb:1:in `<main>'

所以这是问题的第一个证据。然后我会这样做:

sudo gem install simple-rss

安装成功。我再次ruby test.rb,没有遇到任何问题。因此,它可以在使用 gem install 安装后从 原始源 运行 gem,但在使用 Bundler 运行后不能从 本地源 运行。

【问题讨论】:

  • 你有什么问题?
  • 为什么不允许我使用本地路径中的 gem?

标签: ruby rubygems bundler gemfile


【解决方案1】:

如果您想使用 Gemfile 中指定的 gem,我建议您在命令前加上 bundle exec,例如。 bundle exec ruby test.rb。否则你的 Ruby 不会知道它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    相关资源
    最近更新 更多