我尝试使用config.gemenvironment.rb中的指令将一些宝石添加到我的Rails应用程序中,以便当应用程序部署在新系统上时,可以处理丢失的宝石问题.rake gems:install
添加我的应用所依赖的所需宝石列表后,我的应用无法启动.如果我从environment.rb文件中删除所需的gem列表,应用程序就可以正常运行了.
environment.rb中的评论说
# You have to specify the :lib option for libraries, where the Gem name (sqlite3-ruby) differs from the file itself (sqlite3)
Run Code Online (Sandbox Code Playgroud)
我非常肯定我错过了其中一个宝石的:lib选项,如果gem是一个库,它是如何找到它的?
这不是有"图书馆宝石"和"非图书馆宝石".相反,Rails会自动require加载所有加载的宝石config.gem.Rails知道要求的方式就是你指定的内容:lib.如果您没有指定任何内容,它会尝试要求gem的名称.
例如:
config.gem 'simple-navigation'
Run Code Online (Sandbox Code Playgroud)
将需要'简单导航'宝石,这不起作用.你必须指定:
config.gem 'simple-navigation', :lib => 'simple_navigation'
Run Code Online (Sandbox Code Playgroud)
查看您需要的宝石的说明,看看他们的方向是否要求您要求不同的东西.(例如,如果其中一个包含连字符,则它可能会在结果:lib引用中成为下划线.)
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |