Rubyで環境変数を設定する方法【初心者向け】

初心者向けにRubyで環境変数を設定する方法について解説しています。環境変数の役割、どのような目的で使うのかなどを実際に書きながら学んでいきましょう。実際に環境変数にセットされている値にアクセスする書き方を説明しています。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Rubyで環境変数を設定する方法について解説します。

Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

環境変数の使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

環境変数とは

OSが提供するデータの共有機能です。
RubyのコードからOSの環境変数にアクセスすることで、RubyからOSの環境変数を読み書きすることができます。

「公開したくない情報」を環境変数として利用する、というのが一般的な用途の一つです。

例えば、Twitter APIにアクセスする処理があるプログラムの場合、処理の中でaccess tokenなどの情報を必要とする場合があります。
access tokenを直接ソースコードに記述してしまうと、そのソースコードを見れる人なら誰でもaccess tokenを知ることができてしまいます。
このようなソースコードをgithubなどで公開してしまうと、access tokenが誰でも見れる状態になってしまい、悪用される危険性があります。

access tokenを環境変数として用意しておくことで、ソースコードの中にはaccess tokenを記述する必要がなくなり、安全にソースコードを公開することができます。

 

環境変数を設定する方法

ENVというオブジェクトが用意されており、ENV経由で環境変数にアクセスすることができます。

ENVのキー名は文字列型となり、中に格納されている値も文字列型となります。

 

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

ソースコード

# 未設定の環境変数にアクセスするとnilが返ります
p ENV['HOGE'] # => nil

# 文字列をセットすることができます
ENV['HOGE'] = 'hoge'
p ENV['HOGE'] # => "hoge"

# nilをセットすると該当の環境変数が消えます
ENV['HOGE'] = nil
p ENV['HOGE'] # => nil

実際に環境変数にセットされている値にアクセスしてみます。

# RUBY_VERSIONという環境変数に 2.5.0 という値がセットされています
$ echo $RUBY_VERSION
2.5.0

$ irb
irb(main):001:0> ENV['RUBY_VERSION'] # ENV['RUBY_VERSION'] とアクセスすることで実際に値にアクセスすることができます
=> "2.5.0" # ENVの中身は文字列として取得できます

 

以下のバージョンでサンプルコードを動かしています。

$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]

 

監修してくれたメンター

阿部祐也

職種: エンジニア普段の業務: リモートワークで勤務しながら、自社・受託サービスの開発に従事
Ruby on Rails, Node.js, TypeScript, React, AWSなどを利用したWeb系のシステムの開発を主に担当開発実績: ソーシャルゲーム、ツール系アプリ、広告システム、ヘルスケア系アプリのプロジェクトに参加しており、PHP, Ruby on Rails, Objective-C, Swiftでの開発を担当
その他: リモートワークを活かして毎日愛猫と一緒にコードを書いています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも最短4週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。