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
を使っています。管理者のパスワードを入力して進めてください。
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/terappy/install-some-langs/master/install.sh)"
以下のGitHubへのリンク先のinstall.shに実行するコマンドが載っているので参考にしてください。
install-some-langs
これでインストールが完了です。次の章からは解説になりますのでインストールだけの目的の方はここで終わりです。
お疲れ様でした~
解説を読みながらインストールしたい方へ
「自動ですべて終わらせたい方へ」の章を飛ばした方はここからスタートです!
前準備
インストール作業に移る前に前準備をしないといけません。ここを飛ばすと進めないので必ず行いましょう。
依存パッケージをまとめてインストール(めんどくさい人向け)
この後のものをいろいろをインストールするために依存パッケージをまとめてインストールします。各々必要なパッケージは各項目に記述しておきますので、個別にインストールする際はそちらを参考にしてください。
$ 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をインストールするために必要なパッケージをインストールします。要らないものも混じっているかもしれないですが、とりあえず入れときましょう!(テキトー)
$ sudo apt update
$ sudo apt install libcurl4-gnutls-dev libexpat1-dev gettext \
libz-dev libssl-dev asciidoc xmlto docbook2x make gcc
Gitをインストールします。
$ sudo apt update
$ sudo apt install git
ただaptでインストールした場合少し古いものがインストールされてしまうことがあります。(というか大体古い)
気になる方は以下のコマンドを実行して最新版を入れましょう。Gitのバージョンは適宜最新版に読み替えてください。 (2018/4/30 更新: 自動で最新版を取得する方法に変更しました。)
# 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をインストールします。
$ sudo apt install -y nodejs npm build-essential
次にn packageをインストールします。
$ sudo npm cache clean
$ sudo npm i -g n
最後にn packageを用いてnodeをインストールします。最初に入れた古いnodejs,npmは削除しておきます。
$ sudo n stable
$ sudo ln -sh /usr/local/bin/node /usr/bin/node
# 古いnode,npmを削除
$ sudo apt --purge remove -y nodejs npm
最新版をインストールできたか確認してみます。
$ node -v
v9.11.1
ちなみにn packageはバージョン管理できるので別バージョンを入れたいときは、以下のようにすると切り替えられます。
例えば安定板(LTS)のインストールは
$ sudo n lts
$ node -v
v8.11.1
でできます。
元に戻すときもバージョンを指定してやるだけで簡単に切り替えられます。
$ sudo n 9.11.1
$ node -v
v9.11.1
Rubyをインストール
導入手順
依存パッケージをインストールします。
$ 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に設定の追記も同時に行います。
$ 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のバージョンをチェックします。
$ rbenv install --list
インストールするバージョンを決めたら以下を実行しましょう。rbenv global [バージョン]
でデフォルトのrubyのバージョンを設定できます。
# rubyをインストール
$ rbenv install 2.x.x
# デフォルトに設定
$ rbenv global 2.x.x
※何かエラーが出た時はパッケージが不足している可能性があるので、エラーメッセージをよく読み、適宜必要なパッケージをインストールしてください。
Pythonをインストール
導入手順
依存パッケージのインストール
$ 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のインストール
$ 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のインストール
# インストールできるバージョンを確認
$ pyenv install --list
# python 3.x.x をインストール
$ pyenv install 3.x.x
# 使用するバージョンを指定
$ pyenv global 3.x.x
# バージョン確認
$ python --version
お好みでvirtualenvのインストール。
ちなみにvirtualenvとは、特定のバージョンの環境をコピーし、クリアな環境を作成することができるものです。
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
# 設定書き込み
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
# 設定再読み込み
$ source ~/.bashrc
以下のようにして使用します。
pyenv virtualenv [元となるバージョン] <新たに作る環境名>
# 環境を構築したいディレクトリを作成し移動
$ mkdir hoge-dir
$ cd hoge-dir
# 実行
$ pyenv virtualenv 3.x.x test
$ pyenv local test
終わりに
環境構築って初めこそ手間がかかりますが、一度やってしまえば快適なプログラミングライフを送ることができるので、頑張って構築しましょうね!
誰かの役に立てれば幸いです。