オーダーメイドコース
icon
icon

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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

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

 
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

 

田島悠介

今回は、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] 未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

ソースコード

# 未設定の環境変数にアクセスすると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では、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。