2014-12-31 10 views
31

Come evitare l'avviso di riferimento argomento circolare in activesupport. Succede su Ruby 2.2.0Come evitare l'avviso di riferimento argomento circolare in activesupport

/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 

risposta

7

Questo è compass problema here. Non hanno ancora rilasciato la nuova versione, quindi potrebbe essere necessario attendere.

+0

@JoshuaDance Se si esegue un aggiornamento del pacchetto ruby-ole', questo avviso verrà rimosso. (Nome terrificante che hai ottenuto;) –

+0

questo è proprio il problema ancora, può essere risolto installando l'ultima versione della bussola dopo aver disinstallato la versione corrente. Si prega di fare riferimento alla mia risposta per i passaggi. –

9

Non stavo usando la bussola nella mia applicazione Sulla base di questo post here ho alzato la mia versione di Rails dalla 4.1.1 alla 4.1.9 che funzionava.

+0

Grazie amico, questo ha fatto per me come un fascino –

1

Ipoteticamente, l'aggiornamento a Rails 4.2.0 - che si dovrebbe essere in grado di fare attraverso i seguenti comandi - dovrebbe correggere questo errore, anche se non ha funzionato per me:

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

mi sto lo stesso messaggio "errore argomento circolare" (ho postato più informazioni sui miei tentativi falliti di risolvere il problema qui, aggiornerò se trovo una risposta: Rails gem update not working (version 4.1.1 to 4.2.0) as a solution to "warning: circular argument reference" error).

14

utilizzano guide 3.2.22

gem 'rails', '3.2.22' 

O

avvertimento correzioni in versione 1.2.11.8:

bundle update ruby-ole 
3

qui è quello che ho fatto per risolvere questo, ho avuto l'ultima rubino e le gemme non sono compatibili con questo, quindi dopo aver litigato per quasi un giorno sono passato alla versione più vecchia di Ruby usando rvm

da ruby-2.2.1 a ruby-2.0.0,

ancora una volta questo non è un problema con la versione rubino ma incompatibilità con le gemme, provare e avere buona fortuna con quello.

7

questo è un problema di supporto attivo e è stato risolto con questi due commit:

Purtroppo, questi commit sono stati mai incluso nelle versioni 3.2, perché l'attuale ultima release (v3.2.21) era fuori il 18 Nov 2014 e dopo che questi commit sono state fuse.

Se non si desidera visualizzare questo messaggio di avviso sicuramente, si dovrebbe cambiare il tuo Gemfile in questo modo:

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

In caso contrario, si dovrebbe effettuare il downgrade rubino a 2,1 o attendere il rilascio di v3. 2.22, che non arriverà fino a quando non si troverà una falla di sicurezza.

Dopo tutto, non esiste un modo semplice per evitare questo problema. Cambiare per un banale fastidio può essere una reazione eccessiva a mio avviso. Ritarderà molto il tuo processo di distribuzione.

+2

3.2.22 è ora fuori con questa soluzione. – Hisham

+0

@Hisham Grazie per l'aggiornamento. L'annuncio di rilascio è qui: http://weblog.rubyonrails.org/2015/6/16/Rails-3-2-22-4-1-11-and-4-2-2-have-been-released- and-more / – Tsutomu

0

Mi sono imbattuto nello stesso problema, puoi citare in giudizio i seguenti passaggi per risolverlo (ha funzionato per me).

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