我在我的environment.rb文件中定义了以下gems:
config.gem "authlogic"
config.gem "paperclip"
config.gem "pauldix-feedzirra", :lib => "feedzirra", :source => "http://gems.github.com"
config.gem 'whenever', :lib => false, :source => 'http://gemcutter.org/'我把它们安装在本地电脑上,一切正常。因为我在一个共享服务器(DreamHost)上工作,所以我需要解压这些宝石以使它们工作(不能像在我自己的计算机上那样安装它们以使它们工作)。
在上传之前,我在本地机器上运行了以下命令:
rake gems:unpack这在/vender/gems中创建了以下文件夹
authlogic-2.1.3, paperclip-2.3.1.1, pauldix-feedzirra-0.0.18, whenever-0.4.1看来他们都在那里。
但是,当我在服务器上运行rake db:migrate时,会得到以下错误:
Missing these required gems:
pauldix-feedzirra由于某些原因,未检测到锆的未填充宝石。有谁能提供一个线索,知道为什么会发生这种情况,以及一个潜在的解决方案?
谢谢!
编辑:谢谢,但是要放入environment.rb中的代码不起作用,而bundler无法在我的服务器上正确安装。还有其他建议吗?
发布于 2010-04-10 04:50:24
这并不是一个确切的答案,但由于我永远无法使config.gem正常工作,所以我建议尽可能使用邦德勒。它只是工作,它很好地处理了宝石之间的相互依赖关系。据我所知,它也取代了Rails 3中的config.gem。
发布于 2010-05-26 09:14:12
我注意到关于feedzirra的两件事:第一,它依赖于其他三个宝石,并且至少其中一个是构建本地扩展的。我要把它叫做“反馈锆”--我不是github错误的自动包装失败的粉丝。
如果只是前者,那么rake gems:unpack:依赖就可以了。
然而,至少有路缘(饲料锆依赖)是建筑扩建,而这些不能简单地打开包装。您可以让Dreamhost安装它们(祝您好运),也可以将它们安装到用户的本地gem目录中。
要做到这一点,您需要更新您的.gemrc,并确保它包含如下一行::user_install: true
然后耙宝石:安装
除非您的部署环境不允许您构建可执行文件,在这种情况下,您将需要为一个限制较小的包(我知道Dreamhost确实提供了允许扩展-gems的包)进行配置。
(还有一个单独的问题,即部署libcurl .)
发布于 2010-04-10 04:14:14
尝试在Following.put中使用envoirment.rb中的此代码
config.load_paths += Dir["#{RAILS_ROOT}/vendor/gems/**"].map do |dir|
File.directory?(lib = "#{dir}/lib") ? lib : dir
endhttps://stackoverflow.com/questions/2612218
复制相似问题