Ruby
Python
Node.js
Ubuntu
環境構築

Node.js, Ruby, Pythonの最新Ver.を簡単にインストールする方法まとめ

Ubuntuで主要言語達をインストールしよう!

最近環境構築ばっかりやっていますが、あれどうやるんだっけと毎回記憶喪失になり、その都度ググりながら構築する日々を過ごしてます。

毎回やり方を調べてインストールするのは大変だったので、まとめて記事にしてみました。

今回はバージョン管理を考慮したインストール方法を解説します。shellスクリプトでまとめて自動インストールする方法もあるので、とりあえず楽にインストールしたい方は「自動ですべて終わらせたい方へ」の章を見てください。
ひとつひとつ確認しながらインストールしたい人は次の章「解説を読みながらインストールしたい方へ」から進めてください。

インストールする言語

今回は導入に癖のある以下の言語のインストールをします。

  • Node.js
  • Ruby
  • Python

環境

以下の環境で動作を確認しています。(2018/5/3 現在)

  • Ubuntu17.10

CentOSにも対応を検討中です。

自動ですべて終わらせたい方へ(2018/5/3 更新)

shellスクリプトでライブラリのインストールから言語のインストールまで自動実行できるものを作りました。いずれはCentOSにも対応するつもりです。
ひとつひとつ確認しながらインストールしたい人は次の章「解説を読みながらインストールしたい方へ」から進めてください。

インストールされるものは、

  • Git(インストールされていない方のみ)
  • Node.js(LTS版)
  • Ruby(最新版)
  • Python(最新版)
  • 各依存パッケージ

です。もし違うバージョンをインストールしたい場合は下記の解説を読んで直接shellファイルを編集するか、インストール後に違うバージョンを入れてください。

インストール方法

以下のコマンドを実行してください。Gitをインストールしていない人はGitのインストール(最新版、ただしRC版は除く)も同時に行えます。
注)途中ライブラリ更新のためsudoを使っています。管理者のパスワードを入力して進めてください。

terminal
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/terappy/install-some-langs/master/install.sh)"

以下のGitHubへのリンク先のinstall.shに実行するコマンドが載っているので参考にしてください。
install-some-langs

これでインストールが完了です。次の章からは解説になりますのでインストールだけの目的の方はここで終わりです。
お疲れ様でした~


解説を読みながらインストールしたい方へ

自動ですべて終わらせたい方へ」の章を飛ばした方はここからスタートです!

前準備

インストール作業に移る前に前準備をしないといけません。ここを飛ばすと進めないので必ず行いましょう。

依存パッケージをまとめてインストール(めんどくさい人向け)

この後のものをいろいろをインストールするために依存パッケージをまとめてインストールします。各々必要なパッケージは各項目に記述しておきますので、個別にインストールする際はそちらを参考にしてください。

terminal
$ sudo apt update
$ sudo apt install -y build-essential bison libyaml-dev libreadline6-dev \
  zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev libreadline-dev \
  libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev openssl \
  libbz2-dev libsqlite3-dev python3-tk tk-dev python-tk libfreetype6-dev \
  llvm libncursesw5-dev xz-utils autoconf asciidoc xmlto docbook2x make gcc

Gitのインストール (2018/4/30 更新)

Gitをインストールするために必要なパッケージをインストールします。要らないものも混じっているかもしれないですが、とりあえず入れときましょう!(テキトー)

terminal
$ sudo apt update
$ sudo apt install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev asciidoc xmlto docbook2x make gcc

Gitをインストールします。

terminal
$ sudo apt update
$ sudo apt install git

ただaptでインストールした場合少し古いものがインストールされてしまうことがあります。(というか大体古い)

気になる方は以下のコマンドを実行して最新版を入れましょう。Gitのバージョンは適宜最新版に読み替えてください。 (2018/4/30 更新: 自動で最新版を取得する方法に変更しました。)

terminal
# aptでgitがインストール済みであれば以下を実行してgitを削除しておく
$ sudo apt -y remove git
# 最新バージョンの番号を取得
$ GIT_VERSION=$(curl -sL https://github.com/git/git/releases | sed -nre 's:\s*<span class="tag-name">.*v([0-9]+\.[0-9]+\.[0-9]+)</span>:\1:p' | sort -dr | head -n 1)
$ wget https://github.com/git/git/archive/v${GIT_VERSION}.tar.gz
$ tar -zxf v${GIT_VERSION}.tar.gz
$ cd git-${GIT_VERSION}
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info

Node.jsをインストール

導入手順

まずはaptでnodejs,npm,build-essentialをインストールします。

terminal
$ sudo apt install -y nodejs npm build-essential

次にn packageをインストールします。

terminal
$ sudo npm cache clean
$ sudo npm i -g n

最後にn packageを用いてnodeをインストールします。最初に入れた古いnodejs,npmは削除しておきます。

terminal
$ sudo n stable
$ sudo ln -sh /usr/local/bin/node /usr/bin/node

# 古いnode,npmを削除
$ sudo apt --purge remove -y nodejs npm

最新版をインストールできたか確認してみます。

terminal
$ node -v
v9.11.1

ちなみにn packageはバージョン管理できるので別バージョンを入れたいときは、以下のようにすると切り替えられます。
例えば安定板(LTS)のインストールは

terminal
$ sudo n lts
$ node -v
v8.11.1

でできます。
元に戻すときもバージョンを指定してやるだけで簡単に切り替えられます。

terminal
$ sudo n 9.11.1
$ node -v
v9.11.1

Rubyをインストール

導入手順

依存パッケージをインストールします。

terminal
$ sudo apt install gcc make autoconf bison build-essential libssl-dev \
  libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev

バージョン管理のためrbenv,ruby-buildを導入します。.bash_profileに設定の追記も同時に行います。

terminal
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

# .bashrcに設定を書き込み
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

# 設定の反映
$ source ~/.bashrc

以下のコマンドを実行しインストールできるrubyのバージョンをチェックします。

terminal
$ rbenv install --list

インストールするバージョンを決めたら以下を実行しましょう。rbenv global [バージョン]でデフォルトのrubyのバージョンを設定できます。

terminal
# rubyをインストール
$ rbenv install 2.x.x

# デフォルトに設定
$ rbenv global 2.x.x

※何かエラーが出た時はパッケージが不足している可能性があるので、エラーメッセージをよく読み、適宜必要なパッケージをインストールしてください。

Pythonをインストール

導入手順

依存パッケージのインストール

terminal
$ sudo apt install gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev llvm libncursesw5-dev xz-utils
# 描画系のライブラリ
$ sudo apt install python3-tk tk-dev python-tk libfreetype6-dev 

pyenvのインストール

terminal
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv

# .bashrcに設定の書き込み
$ echo 'export PYENV_ROOT=$HOME/.pyenv' >> ~/.bashrc
$ echo 'export PATH=$PYENV_ROOT/bin:$PATH' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc

# 設定の反映
$ source ~/.bashrc

pythonのインストール

terminal
# インストールできるバージョンを確認
$ pyenv install --list

# python 3.x.x をインストール
$ pyenv install 3.x.x

# 使用するバージョンを指定
$ pyenv global 3.x.x

# バージョン確認
$ python --version

お好みでvirtualenvのインストール。

ちなみにvirtualenvとは、特定のバージョンの環境をコピーし、クリアな環境を作成することができるものです。

terminal
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
# 設定書き込み
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
# 設定再読み込み
$ source ~/.bashrc

以下のようにして使用します。

使用例
pyenv virtualenv [元となるバージョン] <新たに作る環境名>
terminal
# 環境を構築したいディレクトリを作成し移動
$ mkdir hoge-dir
$ cd hoge-dir
# 実行
$ pyenv virtualenv 3.x.x test
$ pyenv local test

終わりに

環境構築って初めこそ手間がかかりますが、一度やってしまえば快適なプログラミングライフを送ることができるので、頑張って構築しましょうね!
誰かの役に立てれば幸いです。

参考サイト