首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >托管帮助- DreamHost上的自定义宝石

托管帮助- DreamHost上的自定义宝石
EN

Stack Overflow用户
提问于 2009-09-09 22:43:56
回答 4查看 1.5K关注 0票数 2

我正在尝试部署一个使用Passenger的RoR应用程序到我的DreamHost托管帐户上,但在启动和运行时遇到了问题。

我的应用程序需要两个自定义gem 'amazon-ecs‘和'nokogiri.’‘。按照rake (http://wiki.dreamhost.com/Freezing_Gems)上的说明,我将gem编码到我的配置文件(config.gem "nokogiri")中,然后使用DreamHost gems:unpack命令将它们构建到供应商中。

然后,我使用rake rails:freeze:gems冻结了rails gem,并将其上传到我的子域。

我的回溯的最后七行代码如下:

代码语言:javascript
复制
0   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   336     in `abort'
1   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   336     in `check_gem_dependencies'
2   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   170     in `process'
3   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   113     in `send'
4   /home/rclosner/demo.spubooks.com/vendor/rails/railties/lib/initializer.rb   113     in `run'
5   ./config/environment.rb     9   
6   /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb     31  in `gem_original_require'
7   /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb     31  in `require'

我的配置文件如下所示:

代码语言:javascript
复制
RAILS_GEM_VERSION = '2.3.3' unless defined? RAILS_GEM_VERSION
require File.join(File.dirname(__FILE__), 'boot')

Rails::Initializer.run do |config|
config.gem "nokogiri"
config.gem "amazon-ecs"
config.time_zone = 'UTC'
end

我是不是错过了宝石的一步?我在正确的轨道上吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-09-17 18:36:07

任何具有本地扩展的gem都不能与您的应用程序一起提供,而且很可能在DH上,config.gem也不能正常工作。你必须安装你自己的rubygems并让你的应用使用它。我建议你看看这个:

http://railstips.org/2008/11/24/rubygems-yours-mine-and-ours

它有关于在DH上设置环境的很好的说明。我上周在服务器升级后不得不这样做,而且它仍然适用。

票数 5
EN

Stack Overflow用户

发布于 2009-09-15 14:50:01

那么,/vendor/rails和/vendor/plugins/nokogiri和amazon-ecs存在,您觉得还好吗?您可以重试一次,这次在配置中指定gem的确切版本,如下所示

代码语言:javascript
复制
config.gem "nokogiri", :version => "1.0"

或者如果宝石在Github上

代码语言:javascript
复制
config.gem "tenderlove-nokogiri", :version => "1.0", :lib => "nokogiri", :source => "http://gems.github.com"

回溯看起来没什么用,到底是怎么回事?:-)

票数 0
EN

Stack Overflow用户

发布于 2009-09-16 22:49:14

我最近部署的一个应用程序也得到了相同的回溯(在乘客错误页面上)。结果它找不到我所依赖的一个宝石(config.gem)……尽管rake gem说它就在那里(I test-unit = 1.2.3)。

Dreamhost支持人员建议我尝试冻结/解包我的gem。这可能会起作用(找到我的任何其他gem都是冻结的,没有问题),但出于某种原因,rake gems:unpack对我没有任何作用,所以我最终注释掉了config.gem行,因为我在生产中无论如何都不需要它,这是有效的!

因此,如果其他任何人收到这个错误,它强烈地表明您的一个gem没有被找到。尝试注释掉您的config.gem行,一次注释一行,直到它开始工作或给出不同的错误?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1402524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档