Windows でポータブルなGHC+Stack+Atom+Git環境をUSBメモリに作る

  • 5
    いいね
  • 0
    コメント

免責

この記事の内容は無保証です。筆者はいかなる責任も負いません。

まえおき

使用環境のネットワークが細いので、作成はネットワークのより太いところにある別のマシンで行った。

  • 作成環境 Windows 10 (64-bit)
  • 使用環境 Windows 7 (64-bit)

USBメモリはNTFSでフォーマットされた32GBのものを使用した。

ダウンロード

インストール

USBの準備

保存すべきデータの入っていない新しいUSBメモリを使う。
ここではUSBメモリはP:ドライブに割り当てられるものとする。

別のドライブ、たとえばF:などになっているUSBメモリをドライブP:に割り当てるには以下の手順
参考:USBメモリのドライブ文字を固定する

  • USBメモリを差す
  • エクスプローラを開く
  • PCを選択し、右クリックしメニューから「管理」を選択
  • 左側ペインの「ディスク管理」をクリック
  • 中央ペイン、ボリュームの項目に表示されるUSBメモリのドライブを選択し、右クリック
  • メニューから「ドライブ文字とパスの変更」を選択
  • 「変更」ボタンをクリック
  • 「次のドライブ文字を割り当てる」の右にあるドロップダウンメニューからPを選択し、「OK」ボタンをクリック
  • 警告がでて「続行しますか?」といわれるが、「はい」ボタンをクリック

インストール

  • atom-windows.zipP: に展開
  • PortableGit-2.10.0-64-bit.7z.exe をダブルクリック、 P:\Git に展開
  • stack-1.2.0-windows-x86_64.zipP:\Stack に展開

初期化ファイル

  • コマンドプロンプトから ATOM_HOMEP:\Atom に設定
C:\Users\ユーザー名>setx ATOM_HOME P:\Atom
C:\Users\ユーザー名>exit
  • 改めてコマンドプロンプトから ATOM を起動、
C:\Users\ユーザー名>P:
P:\>cd Atom
P:\Atom>atom ..\phome.bat
  • バッチファイルファイル P:\phome.bat の内容な以下のとおり
phome.bat
setx ROOTD p
setx HOME P:\home
pause
  • ホームディレクトリ P:\home を作成
P:\Atom>mkdir ..\home
P:\Atom>mkdir ..\home\local
  • P:\home\.bash_profile を作成
.bash_profile
test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc
  • P:\home\.bashrc を作成
.bashrc
export STACK_ROOT=/$ROOTD/Stack
export ATOM_HOME=/$ROOTD/Atom
export APPDATA=$HOME/local
export LOCALAPPDATA=$HOME/local
export PATH=$STACK_ROOT:$ATOM_HOME:$LOCALAPPDATA/bin:$PATH
  • P:\Git\git-bash.exe のショートカットを作成、P:\に移動して、作業ディレクトリをP:\homeに設定
  • ショートカット名を p-git-bash に変更

Stack のセットアップ

  • P:\phome.bat 起動
  • P:\p-git-bash 起動

git-bash のプロンプトで作業

$ stack update
$ stack setup

ツール類インストール

$ stack install ghc-mod
$ stack install stylish-haskell
$ stack install hlint
$ stack install doctest
$ stack install hspec

ときどき stack install が失敗するときは、再試行してみると上手くいくことがある。
参考:Multiple writes at the same time on windows machine causes permission denied error #2617

ATOM の設定

基本設定

  • UI Theme は Atom Light
  • Syntax Theme も Atom Linght
  • autosave 有効
  • japanese-menu インストール

Haskell関連はよく理解していないのでなんとなく以下をインストール

  • language-haskell
  • haskell-ghc-mod
  • ide-haskell
  • autocomplete-haskell
  • ide-haskell-repl
  • linter-hlint
  • ide-haskell-hasktags