# Easiest way to determine OS?

**URL:** <https://www.ruby-forum.com/t/easiest-way-to-determine-os/74120>\
**Category:** Ruby\
**Created:** [October 30, 2006, 10:13pm UTC](https://www.ruby-forum.com/t/easiest-way-to-determine-os/74120 "2006-10-30T22:13:29Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![weyus](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7ab992/32.png) [@weyus](https://www.ruby-forum.com/u/weyus)\
**Post date:** [October 30, 2006, 10:13pm UTC](https://www.ruby-forum.com/t/easiest-way-to-determine-os/74120/1 "2006-10-30T22:13:29Z")

</div>

What’s the easiest way to figure out if you are on a Windows vs. UNIX  
platform in Ruby from within a Ruby program?

Thanks,  
Wes

---

<div class="post-metadata">

**Author:** ![weyus](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7ab992/32.png) [@weyus](https://www.ruby-forum.com/u/weyus)\
**Post date:** [October 30, 2006, 10:24pm UTC](https://www.ruby-forum.com/t/easiest-way-to-determine-os/74120/2 "2006-10-30T22:24:33Z")

</div>

Wes G. wrote:

> What’s the easiest way to figure out if you are on a Windows vs. UNIX  
> platform in Ruby from within a Ruby program?

Try this:

irb(main):005:0\> puts RUBY\_PLATFORM  
powerpc-darwin8.0

---

<div class="post-metadata">

**Author:** ![weyus](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7ab992/32.png) [@weyus](https://www.ruby-forum.com/u/weyus)\
**Post date:** [November 7, 2006, 10:46am UTC](https://www.ruby-forum.com/t/easiest-way-to-determine-os/74120/3 "2006-11-07T10:46:46Z")

</div>

From: removed\_email\_address@domain.invalid [[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf  
Of  
Brad T.  
Sent: Monday, October 30, 2006 11:25 PM

> Wes G. wrote:
> 
> > What’s the easiest way to figure out if you are on a Windows vs. UNIX  
> > platform in Ruby from within a Ruby program?
> 
> Try this:
> 
> irb(main):005:0\> puts RUBY\_PLATFORM  
> powerpc-darwin8.0

Not very useful sometimes:

irb(main):001:0\> puts RUBY\_PLATFORM  
i386-mswin32\_71  
(1) (2) (3)(4)

## Here’s encoded: CPU architecture (1), OS (2), CPU bits (3), compiler (4

it’s MS Visual Studio 7.1)

Pasing this on every platform may become a pain.

v.

---

<div class="post-metadata">

**Author:** ![weyus](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7ab992/32.png) [@weyus](https://www.ruby-forum.com/u/weyus)\
**Post date:** [November 7, 2006, 10:48am UTC](https://www.ruby-forum.com/t/easiest-way-to-determine-os/74120/4 "2006-11-07T10:48:15Z")

</div>

On Tue, Oct 31, 2006 at 06:41:53AM +0900, Victor Zverok S. wrote:

> From: removed\_email\_address@domain.invalid [[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of  
> Brad T.  
> Sent: Monday, October 30, 2006 11:25 PM
> 
> > Wes G. wrote:
> > 
> > > What’s the easiest way to figure out if you are on a Windows vs. UNIX  
> > > platform in Ruby from within a Ruby program?

RUBY\_PLATFORM is pretty good, but don’t forget about the ‘rbconfig’  
module either.

```
puts RUBY_PLATFORM # => 'i386-linux'

require 'rbconfig'
puts Config::CONFIG['target_cpu'] # => 'i386'
puts Config::CONFIG['target_os'] # => 'linux'
puts Config::CONFIG['host_cpu'] # => 'i686'
puts Config::CONFIG['host_os'] # => 'linux-gnu'

```

good stuff there.

> (1) (2) (3)(4)
> 
> Here’s encoded: CPU architecture (1), OS (2), CPU bits (3), compiler (4 -  
> it’s MS Visual Studio 7.1)
> 
> Pasing this on every platform may become a pain.

Plug around in the ‘rbconfig’ module, see if any of the items in there  
work better.

enjoy,

-jeremy
