昨年末に安定版がリリースされていましたので、 Haskell Platform を更新しておきます。 主に自分用のメモ書きです。
手元のマシンは Mac OSX Lion です。 下記のリンクから適当なインストーラーパッケージをダウンロードして インストールしておきます。
- The Haskell Platform - hackage.haskell.org
- Current stable release: 2011.4.0.0 (December 2011)
- Next release: May 2012
Haskell Platform に関してはこちらの記事が参考になります。
- 第39回 一般向けの「Haskell Platform」とインストール・ツールの「cabalコマンド」 - itpro.nikkeibp.co.jp
現在のバージョンを確認する
uninstall-hs コマンドでシステムにインストールされているバージョンを確認できます。
$ uninstall-hs -- Versions found on this system 7.0.3 7.0.4 -- To remove a version and all earlier: uninstall-hs thru VERSION -- To remove only a single version: uninstall-hs only VERSION
ふたつのバージョンがインストールされています。 古い方はいらないので、 only でバージョンを指定します。
$ uninstall-hs only 7.0.3 -- Would remove just version 7.0.3 /Library/Frameworks/GHC.framework/Versions/7.0.3-i386 /Library/Haskell/ghc-7.0.3 /usr/bin/ghc-7.0.3@ -> /Library/Frameworks/GHC.framework/Versions/7.0.3-i386/usr/bin/ghc-7.0.3 /usr/bin/ghc-pkg-7.0.3@ -> /Library/Frameworks/GHC.framework/Versions/7.0.3-i386/usr/bin/ghc-pkg-7.0.3 /usr/bin/ghci-7.0.3@ -> /Library/Frameworks/GHC.framework/Versions/7.0.3-i386/usr/bin/ghci-7.0.3 /usr/bin/haddock-ghc-7.0.3@ -> /Library/Frameworks/GHC.framework/Versions/7.0.3-i386/usr/bin/haddock-ghc-7.0.3 -- To actually remove these files, sudo run the command again with --remove -- To generate a script to remove these files, run the command again with --script
何が削除されるかを確認してくれました。
実際に削除する
実際に削除するには sudo を使って --remove オプションを付けます。
$ sudo uninstall-hs --remove only 7.0.3 Password: -- Removing just version 7.0.3
もう一度 uninstall-hs コマンドを使うと、削除されたことを確認できます。
$ uninstall-hs -- Versions found on this system 7.0.4 -- To remove a version and all earlier: uninstall-hs thru VERSION -- To remove only a single version: uninstall-hs only VERSION
実際、ファイルシステムからも削除されています。
$ ls -l /Library/Frameworks/GHC.framework/Versions/ total 8 drwxr-xr-x 5 root admin 170 Dec 6 12:01 7.0.4-x86_64/ lrwxr-xr-x 1 shigeru wheel 12 Jan 6 07:51 Current@ -> 7.0.4-x86_64
パッケージの一覧を表示する
ghc-pkg コマンドでパッケージの一覧を確認します。
$ ghc-pkg list /Library/Frameworks/GHC.framework/Versions/7.0.4-x86_64/usr/lib/ghc-7.0.4/package.conf.d Cabal-1.10.2.0 GLUT-2.1.2.1 HTTP-4000.1.2 HUnit-1.2.4.2 OpenGL-2.2.3.0 QuickCheck-2.4.1.1 array-0.3.0.2 base-4.3.1.0 bin-package-db-0.0.0.0 bytestring-0.9.1.10 cgi-3001.1.7.4 containers-0.4.0.0 deepseq-1.1.0.2 directory-1.1.0.0 extensible-exceptions-0.1.1.2 ffi-1.0 fgl-5.4.2.4 filepath-1.2.0.0 ghc-7.0.4 ghc-binary-0.5.0.2 ghc-prim-0.2.0.0 haskell-platform-2011.3.0.0 haskell-src-1.0.1.4 haskell2010-1.0.0.0 haskell98-1.1.0.1 hpc-0.5.0.6 html-1.0.1.2 integer-gmp-0.2.0.3 mtl-2.0.1.0 network-2.3.0.5 old-locale-1.0.0.2 old-time-1.0.0.6 parallel-3.1.0.1 parsec-3.1.1 pretty-1.0.1.2 process-1.0.1.5 random-1.0.0.3 regex-base-0.93.2 regex-compat-0.95.1 regex-posix-0.95.1 rts-1.0 stm-2.2.0.1 syb-0.3.3 template-haskell-2.5.0.0 text-0.11.1.5 time-1.2.0.3 transformers-0.2.2.0 unix-2.4.2.0 xhtml-3000.2.0.4 zlib-0.5.3.1
utf8-string がありません。 以前のマシンでは macport で用意しましたが、 新しいバージョンでは必要ないそうです。
追加パッケージをインストールする
Haskell のパッケージは HackageDB で管理されています。
- HackageDB - hackage.haskell.org
パッケージの管理には Cabal を使います。
- Cabal - haskell.org
とりあえず cabal コマンドを実行してみます。
$ cabal ********************************************************************** === Configuration for cabal has been written to /Users/shigeru/.cabal/config === Executables will be installed in: /Users/shigeru/Library/Haskell/bin You may wish to place this on your PATH by adding the following line to your ~/.bash_profile: export PATH="$HOME/Library/Haskell/bin:$PATH" === When documentation is built, a master index to all documentation will be placed in: /Users/shigeru/Library/Haskell/doc/index.html You may wish to bookmark that file once it gets built (after the first cabal install). ********************************************************************** Downloading the latest package list from hackage.haskell.org cabal: no command given (try --help)
設定ファイルが生成され、パッケージの一覧が更新されました。
インストールしてみる
CSV を処理するモジュールを探します。
$ cabal list csv * bytestring-csv Synopsis: Parse CSV formatted data efficiently Default available version: 0.1.2 Installed versions: [ Not installed ] Homepage: http://code.haskell.org/~dons/code/bytestring-csv License: BSD3 * csv Synopsis: CSV loader and dumper Default available version: 0.1.2 Installed versions: [ Not installed ] License: MIT * csv-enumerator Synopsis: A flexible, fast, enumerator-based CSV parser library for Haskell. Default available version: 0.10.1.0 Installed versions: [ Not installed ] Homepage: http://github.com/ozataman/csv-enumerator License: BSD3 * cursedcsv Synopsis: Terminal tool for viewing tabular data Default available version: 0.1 Installed versions: [ Unknown ] License: BSD3
csv-enumerator をインストールします。まずは --dry-run オプションで確認。
$ cabal install csv-enumerator --dry-run Resolving dependencies... In order, the following would be installed (use -v for more details): attoparsec-0.10.1.0 enumerator-0.4.17 attoparsec-enumerator-0.3 safe-0.3.3 unix-compat-0.3.0.1 csv-enumerator-0.10.1.0
依存ライブラリがいくつかあるようです。
実際にインストールします。ログは長いので省略します。
$ cabal install csv-enumerator (ログ省略)
ドキュメントも更新されていますので確認しましょう。
$ open /Users/shigeru/Library/Haskell/doc/index.html
終わりに
去年は Haskell を書こうと思いつつも全然書いていませんでしたので、 とりあえず環境を更新して、今年は何とか継続したいなぁ、と。
0 件のコメント:
コメントを投稿