如何使用安装在 vendor/bundle 目录中的 gem

How to use gems installed in vendor/bundle directory

我已经使用

在 vendor/bundle 的项目目录中安装了 gems
bundle install --path vendor/bundle

所有 gem 都已正确安装。

.bundle/config 文件

BUNDLE_PATH: vendor/bundle
BUNDLE_DISABLE_SHARED_GEMS: '1'

捆绑环境

环境

Bundler   1.10.6
Rubygems  2.4.8
Ruby      2.0.0p643 (2015-02-25 revision 49749) [x86_64-linux]
GEM_HOME  /home/xyz/.rvm/gems/ruby-2.0.0-p643
GEM_PATH  /home/xyz/.rvm/gems/ruby-2.0.0-p643:/home/xyz/.rvm/gems/ruby-2.0.0-p643@global
RVM       1.26.11 (1.26.11)
Git       1.9.1
rubygems-bundler (1.4.4)

捆绑器设置

path
  Set for your local app (/home/xyz/code/project/.bundle/config): "vendor/bundle"
  Set for the current user (/home/xyz/.bundle/config): "vendor/bundle"
disable_shared_gems
  Set for your local app (/home/xyz/code/project/.bundle/config): "1"
  Set for the current user (/home/xyz/.bundle/config): "1"

宝石文件

source 'https://rubygems.org'

gem 'creek'
gem 'faraday'
gem 'faraday_middleware'
gem 'json'
gem 'logger'
gem 'mechanize'
gem 'nokogiri'
gem 'trollop'
gem 'yajl-ruby'
gem 'simplecov', :require => false, :group => :test
gem 'test-unit'

Gemfile.lock

GEM
  remote: https://rubygems.org/
  specs:
    creek (1.0.8)
      nokogiri (~> 1.6.0)
      rubyzip (>= 1.0.0)
    docile (1.1.5)
    domain_name (0.5.24)
      unf (>= 0.0.5, < 1.0.0)
    faraday (0.9.1)
      multipart-post (>= 1.2, < 3)
    faraday_middleware (0.10.0)
      faraday (>= 0.7.4, < 0.10)
    http-cookie (1.0.2)
      domain_name (~> 0.5)
    json (1.8.3)
    logger (1.2.8)
    mechanize (2.7.3)
      domain_name (~> 0.5, >= 0.5.1)
      http-cookie (~> 1.0)
      mime-types (~> 2.0)
      net-http-digest_auth (~> 1.1, >= 1.1.1)
      net-http-persistent (~> 2.5, >= 2.5.2)
      nokogiri (~> 1.4)
      ntlm-http (~> 0.1, >= 0.1.1)
      webrobots (>= 0.0.9, < 0.2)
    mime-types (2.6.1)
    mini_portile (0.6.2)
    multipart-post (2.0.0)
    net-http-digest_auth (1.4)
    net-http-persistent (2.9.4)
    nokogiri (1.6.6.2)
      mini_portile (~> 0.6.0)
    ntlm-http (0.1.1)
    power_assert (0.2.4)
    rubyzip (1.1.7)
    simplecov (0.10.0)
      docile (~> 1.1.0)
      json (~> 1.8)
      simplecov-html (~> 0.10.0)
    simplecov-html (0.10.0)
    test-unit (3.1.3)
      power_assert
    trollop (2.1.2)
    unf (0.1.4)
      unf_ext
    unf_ext (0.0.7.1)
    webrobots (0.1.1)
    yajl-ruby (1.2.1)

PLATFORMS
  ruby

DEPENDENCIES
  creek
  faraday
  faraday_middleware
  json
  logger
  mechanize
  nokogiri
  simplecov
  test-unit
  trollop
  yajl-ruby

BUNDLED WITH
   1.10.6

捆绑显示--路径

/home/xyz/.rvm/gems/ruby-2.0.0-p643/gems/bundler-1.10.6/lib/gems/bundler-1.10.6
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/creek-1.0.8
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/docile-1.1.5
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/domain_name-0.5.24
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/faraday-0.9.1
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/faraday_middleware-0.10.0
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/http-cookie-1.0.2
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/json-1.8.3
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/logger-1.2.8
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/mechanize-2.7.3
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/mime-types-2.6.1
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/mini_portile-0.6.2
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/multipart-post-2.0.0
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/net-http-digest_auth-1.4
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/net-http-persistent-2.9.4
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/nokogiri-1.6.6.2
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/ntlm-http-0.1.1
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/power_assert-0.2.4
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/rubyzip-1.1.7
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/simplecov-0.10.0
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/simplecov-html-0.10.0
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/test-unit-3.1.3
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/trollop-2.1.2
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/unf-0.1.4
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/unf_ext-0.0.7.1
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/webrobots-0.1.1
/home/xyz/code/project/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.2.1

当我尝试使用任何 gem 说 simplecov 时,问题出在我的文件中。

我的 Ruby 文件 TestExample.rb

require 'rubygems'
require 'simplecov'
....
rest of the code
.....
enter code here

当我尝试 运行 这个文件时它给我这个错误

/home/xyz/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- simplecov (LoadError)

我是不是漏掉了什么??也许我要求文件的方式有误?

您可以尝试在您的 rb 中添加这一行吗?

require 'bundler/setup'

然后运行它在做

bundle exec ruby TestExample.rb

我认为这对你有用。