我正在使用Dropbox SDK并在我的Gemfile中添加了gem 'dropbox-sdk','~> 1.6.4'
,并且我运行了bundle install
。我已经通过运行bundle show dropbox-sdk
验证了它的安装情况,/Users/Chris/.rvm/gems/ruby-2.2.0@rails4.2/gems/dropbox-sdk-1.6.4
显示安装在$ rails console
Loading development environment (Rails 4.2.0)
2.2.0 :001 > require 'dropbox-sdk'
LoadError: cannot load such file -- dropbox-sdk
中。
问题是我的页面丢失了文件未找到错误,我无法在控制台中要求它。
控制台错误:
LoadError in DashboardsController#monthly_sales_dashboard
No such file to load -- dropbox-sdk
Extracted source (around line #274):
def require(file)
result = false
load_dependency(file) { result = super }
result
end
end
页面错误:
{{1}}
最奇怪的部分是它在不久前工作了,从那以后我没有改变任何配置或宝石。
我尝试重新启动Thin甚至重新启动整台计算机,但没有运气。我在类似的问题中检查了Bundler和Rails在每个Tim Moore的答案上的版本是否相同,并且它们都在2.2.0之间运行。
有什么想法吗?
答案 0 :(得分:3)
尽管宝石以破折号命名,但在需要宝石时,您必须使用下划线:
require 'drobbox_sdk'
答案 1 :(得分:2)
除了输入的答案之外,您可以通过在Gemfile中指定要求的名称来加载依赖项,而无需在代码中使用显式require
。只需将gem 'dropbox-sdk'
替换为:
gem 'dropbox-sdk', require: 'dropbox_sdk'
它的行为与所有其他依赖项一样。