2017-08-29 172 views
1

有些奇怪的事情正在發生,幾個小時前所有的東西都能正常工作。Bundle安裝不會從私人git回購安裝gem

我有一個私人寶石作爲項目的依賴項。我已經添加了專用的寶石混帳回購協議如下:

gem 'my-awesome-gem', '>=1.2.3', git: 'https://john:[email protected]/johndoe/my-awesome-gem' 

在做bundle install它表明:

... 
Using my-awesome-gem 1.2.3 from https://john:[email protected]/johndoe/my-awesome-gem (at [email protected]) 
Bundle complete! 5 Gemfile dependencies, 21 gems now installed. 
Use `bundle info [gemname]` to see where a bundled gem is installed. 

但是當我做gem list這種寶石不顯示。此外,當我做pry -r my-awesome-gem或需要在項目中它返回:

! Unable to load application: LoadError: cannot load such file -- my-awesome-gem 
/Users/johndoe/.rbenv/versions/2.4.1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- my-awesome-gem (LoadError) 
... 

我已經打繞了幾個小時,但無法發現問題。我試過通過rbenv重新安裝ruby。我通過rbenv使用Ruby 2.4.1。

我在做什麼錯?

回答

2

當使用Bundler時,您必須使用任何您使用的代碼使Bundler參與。這意味着,無論是:

require 'bundler/setup' 
require 'my-awesome-gem' 

或者:

pry -r bundler/setup -r my-awesome-gem 

安裝的寶石,它只是沒有在你的$LOAD_PATH,直到你得到捆紮機在Gemfile加載並找到所有的依賴關係。