How do I avoid the circular argument reference warning in activesupport

大城市里の小女人 提交于 2019-12-29 06:34:11

问题


How do I avoid the circular argument reference warning in activesupport. Happens on ruby 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

回答1:


This is compass issue here. They haven't release new version yet so you may need to wait for it.




回答2:


Use Rails 3.2.22

gem 'rails', '3.2.22'

OR

warning fixes in version 1.2.11.8:

bundle update ruby-ole



回答3:


This is an issue of Active Support and has been fixed with these two commits:

  • https://github.com/rails/rails/commit/8fd52705eda6a2cd7e9a8a5bc723fa094e359eb7
  • https://github.com/rails/rails/commit/3a30b12c774dfaa72acfe520e823374131631ea9

Unfortunately, these commits have been never included into the 3.2 releases, because the current last release (v3.2.21) was out on 18 Nov 2014 and after that these commits were merged.

If you don't want to see this warning message definitely, you should change your Gemfile like this:

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

Otherwise, you should downgrade ruby to 2.1 or wait the release of v3.2.22, which won't come until a grave security hole is found.

After all, there is no easy way to avoid this issue. Changing Gemfile for such a trivial annoyance may be an overreaction in my view. It will delay your deployment process quite a lot.




回答4:


I was not using compass in my application Based on this post here I upped my Rails version from 4.1.1 to 4.1.9 which worked.




回答5:


here is what i did to resolve that, i had the latest ruby and the gems are not compatible with that, so after having a fight for nearly a day i switched to older ruby version using rvm

from ruby-2.2.1 to ruby-2.0.0 ,

again this is not an issue with ruby version but incompatibility with gems,try and have good luck with that.




回答6:


Well, Here is a solution to this: Try doing all these changes in your .rbenv/.rvm folder and change in these files:

https://github.com/tmm1/rails/commit/8fd52705eda6a2cd7e9a8a5bc723fa094e359eb7




回答7:


Hypothetically, updating to Rails 4.2.0 - which you should be able to do via the following commands - should fix this error, although it hasn't worked for me:

rvm use ruby-2.2.0@rails4.2 --create
gem install rails 
rails -v 

I'm getting the same "circular argument error" message as well (I posted more about my failed attempts to fix it here, will update if I find an answer: Rails gem update not working (version 4.1.1 to 4.2.0) as a solution to "warning: circular argument reference" error).




回答8:


I ran into the same issue as well, yo can sue the following steps to resolve it (worked for me).

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



回答9:


I altered the time_zone.rb file, instead of now=now, I entered now=Time.now and problem solved.



来源:https://stackoverflow.com/questions/27717309/how-do-i-avoid-the-circular-argument-reference-warning-in-activesupport

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!