2012-01-25 40 views
1

我們有一個應用程序已在Heroku(竹)上運行了一年多。當推動昨天的變化時,推送被拒絕時,它無法安裝回形針寶石。直到故障點纔對寶石列表進行了更改。我試了一個全新的準系統應用程序,並得到了相同的結果。看來竹堆已經發生了某種變化。任何人遇到這種情況或知道可能會發生什麼?麻煩推送barebone應用程序Heroku與回形針寶石

以下是再現步驟:

$ rails temp-app 
$ cd temp-app 
$ cat >.gems 
rails -v 2.3.14 
paperclip -v 2.5.0 
<control-D> 
$ git init 
$ git add . 
$ git commit -m "init" 
$ heroku create --stack bamboo 
$ git push heroku master 

這是輸出:

-----> Heroku receiving push 
-----> Ruby/Rails app detected 
-----> Configure Rails to log to stdout 
     Installing rails_log_stdout... done 

-----> Installing gem rails 2.3.14 from http://rubygems.org 
     Successfully installed activesupport-2.3.14 
     Successfully installed activerecord-2.3.14 
     Successfully installed actionpack-2.3.14 
     Successfully installed actionmailer-2.3.14 
     Successfully installed activeresource-2.3.14 
     Successfully installed rails-2.3.14 
     6 gems installed 

-----> Installing gem paperclip 2.5.0 from http://rubygems.org 
     ERROR: While executing gem ... (NoMethodError) 
      undefined method `call' for nil:NilClass 
!  Heroku push rejected, failed to install gem 
+0

此外,還推薦heroku支持 - 最近有人可能會遇到這種情況,但我也會在那裏開一張票。 –

回答

0

我沒有得到來自Heroku的支持答案:回形針指定的活動記錄的依賴關係是這樣的:「ActiveRecord的」 ,'> = 2.3.0',這會導致安裝最新的AR版本。截至前幾天的最新版本是3.2,這在Rails 2.3上已經破裂,因此失敗了。

我解決了這個問題,方法是在.gems中爲paperclip gem添加--ignore-dependencies,然後手動向.gems添加依賴關係。

+0

接受它自己 –