37
36

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

UNIXでPython,Ruby,Perl,Node.jsのバージョン管理環境構築

Last updated at Posted at 2012-04-16

研究室の新入生向けに書いたやつ。
各種スクリプト言語のバージョン管理をするための環境を構築する。
pythonbrew, rvm, perlbrew, nvmでバージョン管理をし、pip, gem, cpanm, npmでパッケージの管理をする。

アプリについては【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超を読んで適当に入れればいい。

Macの人は「homebrewのインストール」までは順番にやっていく。それ以降は必要なものだけやればいい。
その他のUNIX環境の人はyumなりaptなりを使って必要なパッケージを用意してから、「homebrewのインストール」以降で必要なものをやればいい。

#OSXのバージョンを上げる

[]->[Software Update...]

インストール完了するまで待つ

#Xcodeインストール

Download

ここからXcode for Lionの最新版をダウンロードしてインストール

##(任意)Xcode Command Line Toolsインストール

Xcodeを起動して[Xcode]->[Preferences]->[Downloads]からCommand Line Toolsを選んでインストール。
これがないとhomebrewが変になることが(極めて稀に)ある。

#Java Runtimeインストール

同様にJava for OS X Developer Packageをダウンロードしてインストール

#homebrewインストール(+git)

Installation - homebrew

端末で以下を実行

$ ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
$ brew install git
$ brew update

homebrew自体のバージョン管理のためにgitが必要

#(任意)zshインストール

シェルにこだわりが無いなら

$ brew install zsh

##(任意)oh-my-zshインストール

今まで.zshrcを自分で用意したことがない人はこれをいれると捗る

$ curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

#python環境構築

pythonbrew

$ curl -kL http://xrl.us/pythonbrewinstall | bash
$ echo '[[ -s "${HOME}/.pythonbrew/etc/bashrc" ]] && source $HOME/.pythonbrew/etc/bashrc' >> ~/.zshrc
$ pybrew install -fn 2.7.2 3.2  # 時間かかる

##(任意)virtualenvを分ける

virtualenvを作ってパッケージを切り分けたい場合は

$ pybrew venv create lab -p 2.7.2
$ pybrew venv create lab -p 3.2

これでpython2.7.2と3.2にそれぞれlabという名前のvirtualenvが作成される。よく分からない人は、とりあえず作っておくと、後で後悔しなくて済む可能性が高いのでやっとくことを勧める。

##pythonのバージョンを切り替える方法

$ pybrew switch 2.7.2
$ pybrew switch 3.2

virtualenvを作った人は

$ pybrew venv use lab -p 2.7.2
$ pybrew venv use lab -p 3.2

venvをまたいで使いたいモジュールはvenvを切ってからインストールするといい(ipythonインストール参照)

##モジュールのインストール方法

インストールしたいバージョンにpybrewで切り替えてから以下を実行

$ pip install PACKAGE_NAME

##(任意)ipythonインストール

$ pybrew switch 2.7.2  # venv無しの2.7.2に移動
$ pip install ipython
$ pybrew venv use lab

ipythonの起動

$ ipython

このようにvenvなしの状態でインストールしたモジュールは全てのvenvから参照できる。

#ruby環境構築

rvm

$ curl -L get.rvm.io | bash -s stable
$ echo '[[ -s "${HOME}/.rvm/scripts/rvm" ]] && source $HOME/.rvm/scripts/rvm' >> ~/.zshrc
$ rvm install 1.9.3  # 時間かかる

##(任意)gemset

gemsetを使って環境の切り分け。こちらもよく分からない人はやっとくべき。

$ rvm use 1.9.3
$ rvm gemset create lab
$ rvm use 1.9.3@lab --default

globalという名前のgemsetが存在し、それに入っているgemは他の全てのgemsetからも参照できるので、汎用的なツールはglobalに入れるといい。(pryインストールの項目参照)

##(任意)gemでドキュメントのインストールをしないようにする

ドキュメントが要らない人だけ

$ echo 'gem: --no-ri --no-rdoc' >> ~/.gemrc

##gemのインストール

$ gem install PACKAGE_NAME

##(任意)pryのインストール

ruby用のインタラクティブシェル。gemsetに寄らず必要なのでglobalに入れる

$ rvm use 1.9.3@global
$ gem install pry
$ rvm use 1.9.3@lab  # 戻す

起動するには

$ pry

#perl環境構築

perlbrew

デフォルトでperlbrewは$HOME/perl5/perlbrewにインストールされる。これが嫌な場合は

$ echo 'export PERLBREW_ROOT=$HOME/.perl5/perlbrew' >> .zshrc
$ source ~/.zshrc
$ curl -kL http://install.perlbrew.pl | bash
$ echo '[[ -s "${HOME}/.perl5/perlbrew/etc/bashrc" ]] && source $HOME/.perl5/perlbrew/etc/bashrc' >> ~/.zshrc
$ perlbrew install perl-5.14.2  # 時間かかる
$ perlbrew switch perl-5.14.2
$ perlbrew install-cpanm

#node環境構築

nvm

$ git clone git://github.com/creationix/nvm.git ~/.nvm
$ echo '[[ -s "${HOME}/.nvm/nvm.sh" ]] && source $HOME/.nvm/nvm.sh' >> .zshrc
$ nvm install v0.6.15  # 時間かかる
$ nvm alias default v0.6.15

##パッケージのインストール

nvmでnodeを入れると自動的にnpmが使えるようになっている。
npmはデフォルトでプロジェクト単位でパッケージを管理するので、rvmにおいてgemsetでパッケージを分けて管理したようなことをする必要がない。

パッケージをインストールするには以下のようにする

$ npm install PACKAGE_NAME

これを実行するとカレントディレクトリにnode_modulesというディレクトリが作成される。カレントディレクトリ以下のnodeプロジェクト全てからこのnode_moduelsは参照される。

グローバルな箇所に置きたい場合は-gオプションをつける。CoffeeScriptのインストール参照

##(任意)CoffeeScriptのインストール

$ npm install -g coffee-script
37
36
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
36

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?