2014-12-31 79 views
31

如何避免有效支持中的循環參數參考警告。發生在紅寶石2.2.0如何避免有效支持中的循環參數參考警告

/home/ec2-user/apps/foo_prod/shared/bundle/ruby/2.2.0/gems/activesupport-3.2.21/lib/active_support/values/time_zone.rb:270: warning: circular argument reference - now 
/home/ec2-user/apps/foo_prod/shared/bundle/ruby/2.2.0/gems/ruby-ole-1.2.11.7/lib/ole/types/base.rb:265: warning: duplicated key at line 266 ignored: 4095 

回答

7

這是compass問題here。他們還沒有發佈新版本,所以你可能需要等待它。

+0

@JoshuaDance如果你做了一個'bundle update ruby​​-ole',它會刪除這個警告。 (可怕的名字,你到那裏;) –

+0

這正是問題,它可以通過卸載當前版本後安裝最新版本的羅盤來解決。請參閱我的答案的步驟。 –

9

我沒有在我的應用程序中使用指南針基於這篇文章here我把我的Rails版本從4.1.1升級到了4.1.9,

+0

謝謝大家,這對我來說就像一個魅力 –

1

可以想像,更新到Rails 4.2.0 - 你應該能夠通過下面的命令做的事情 - 要解決這個錯誤,雖然它並沒有爲我工作:

rvm use [email protected] --create 
gem install rails 
rails -v 

我越來越同樣的「循環參數錯誤」消息(我發佈了更多關於我在這裏修復失敗的嘗試,如果我找到答案將更新:Rails gem update not working (version 4.1.1 to 4.2.0) as a solution to "warning: circular argument reference" error)。

14

使用Rails的3.2.22

gem 'rails', '3.2.22' 

OR

警告修復在1.2.11.8版本:

bundle update ruby-ole 
3

這裏是我做過什麼來解決,我有最新的紅寶石和寶石是不兼容的,所以經過近一天的鬥爭後,我轉向使用rvm的舊版ruby版本

從ruby-2.2.1到ruby-2.0.0,

再次,這不是Ruby版本的問題,但與寶石不兼容,試試並祝你好運。

7

這是積極支持的問題,已修復與這兩個提交:

不幸的是,這些提交過從未納入到3.2版本, 因爲目前的最後一個版本(v3.2.21)2014年11月 和18日,參加了那次這些提交合並後。

如果你不希望看到這個警告信息絕對,你應該改變你的 Gemfile這樣的:

 
# gem 'rails', '3.2.21' 
gem 'rails', git: 'https://github.com/rails/rails.git', branch: '3-2-stable' 

否則,你應該降級紅寶石2.1或等待V3的釋放。 2.22, ,直到找到嚴重的安全漏洞纔會出現。

畢竟,沒有簡單的方法可以避免這個問題。更改Gemfile 對於這樣一個微不足道的煩惱,我認爲可能是過度反應。 它會延遲您的部署過程相當多。

+2

3.2.22現在與此修復。 – Hisham

+0

@Hisham感謝您的更新。發佈公告如下:http://weblog.rubyonrails.org/2015/6/16/Rails-3-2-22-4-1-11-and-4-2-2-have-been-released-和更多/ – Tsutomu

0

我遇到了同樣的問題,你可以起訴以下步驟來解決它(爲我工作)。

$ gem uninstall compass 
$ gem update --system 
$ gem install compass