2010-08-09 14 views
7

Sto riscontrando uno strano problema con le variabili Ruby e Environment.Ruby Environment Variables

Sono attualmente su una macchina x64 che esegue Windows Server 2008 R2

Se io effettuare le seguenti operazioni in Ruby: puts ENV['PROCESSOR_ARCHITECTURE']

mi aspetto di vedere AMD64, invece, Ruby è la visualizzazione x86

Se lo faccio: echo %PROCESSOR_ARCHITECTURE%, nel prompt dei comandi, sono accolto con AMD64

La mia versione di Ruby è: ruby ​​1.8.6 (2010-02-04 patchlevel 398) [i386- mingw32]

Per quanto ne so, ENV['PROCESSOR_ARCHITECTURE'] deve solo leggere la mia variabile d'ambiente ...

Tutte le idee?

Cheers, Gareth

risposta

11

Si fa leggere la variabile d'ambiente, ma dal momento che l'eseguibile rubino è compilato per 32 bit, viene eseguito in un ambiente a 32 bit in cui il valore di PROCESSOR_ARCHITECTURE è davvero "x86".

Se si inserisce system "echo %PROCESSOR_ARCHITECTURE%" nello script ruby, si vedrà che produrrà anche "x86".

Problemi correlati