我有一組文件位於Ruby on Rails應用程序的lib目錄中。在Rails應用程序中需要ruby中的bindata
我有一個需要使用這些文件的模型。在我的模型,我有以下:
require_relative '../../some_path_to_file_without_extention'
(附註;我很想知道的方式,要求所有的文件,而不是require_relative每個文件)。
我require_relative的文件中有以下要求。
require "bindata"
當我嘗試從require_relative文件我得到以下錯誤訪問功能:
LoadError: cannot load such file -- bindata
這是發生對於在該組文件被要求以及其他寶石。我只是選擇bindata
作爲例子。
我在我的Gemfile中有bindata
。當我運行bundle show bindata
時,它向我顯示bindata
的路徑。
我甚至把require 'bindata'
放在我的模型中,但它給了我相同的加載錯誤。
如何停止LoadError
?
任何幫助將不勝感激。
更新1
當我運行bundle show
。我得到以下內容:
Gems included by the bundle:
...
* bcrypt (3.1.11)
* bindata (2.3.4)
...
然後在控制檯中,需要bcrypt工作,但bindata沒有。
irb(main):002:0> require 'bcrypt'
=> true
但是bindata沒有。
irb(main):003:0> require 'bindata'
LoadError: cannot load such file -- bindata
更新2
好了,所以我知道必須要有些東西與我怎麼裝我的Rails環境。
bundle exec irb
irb(main):001:0> require 'bindata'
=> true
更新3
於是我又回到了幾Git修訂,並不斷嘗試添加的寶石,看看他們是否會在我的rails控制檯加載。我回到了足夠遠的地步。不知道有什麼不同。不過,我也注意到,當我的彈簧服務器重新啓動,然後我的寶石將加載在我的軌道控制檯。
我很確定它應該工作,但由於某種原因(可能是我仍然做錯了),它不適合我。我爲這個問題添加了更多信息。 – user2517182