IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

cabal自身のバージョンアップの作業ログ (2018年01月時点)

cabalは2017年8月からバージョンが2になっています。アップデートをサボっていたので更新作業をしまし。

バージョンの確認とパッケージ情報の更新をします。

$ cabal --version
cabal-install version 1.24.0.0
compiled using version 1.24.0.0 of the Cabal library
$ cabal update
Downloading the latest package list from hackage.haskell.org

cabalupdateで検索するとcabalがインストールするパッケージのアップデートの方法の情報がたくさんヒットします。cabal自体のアップデートの情報はヒットしません。そこで、本家のサイトを確認します。

The Haskell Cabal

cabal install cabal cabal-installと記載がされています。そのコマンドを実行します。

$ cabal install cabal cabal-install
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: cabal-0.0.0.0 (user goal)
next goal: youProbablyWantCapitalCabal (dependency of cabal-0.0.0.0)
Dependency tree exhaustively searched.

エラーが出てしまいます。解決方法はこちらに出ていました。cabalがなくても大丈夫なようです。

$ cabal install cabal cabal-install errors · Issue #4178 · haskell/cabal · GitHub

$ cabal install cabal-install
Resolving dependencies...
Downloading Cabal-2.0.1.1...
Downloading HTTP-4000.3.9...
Configuring HTTP-4000.3.9...
Downloading cryptohash-sha256-0.11.101.0...
Configuring cryptohash-sha256-0.11.101.0...
Downloading echo-0.1.3...
Configuring echo-0.1.3...
Downloading ed25519-0.0.5.0...
Downloading edit-distance-0.2.2.1...
Configuring Cabal-2.0.1.1...
Downloading tar-0.5.0.3...
Building HTTP-4000.3.9...
Building cryptohash-sha256-0.11.101.0...
Building echo-0.1.3...
Building Cabal-2.0.1.1...
Installed echo-0.1.3
Configuring edit-distance-0.2.2.1...
Configuring ed25519-0.0.5.0...
Installed cryptohash-sha256-0.11.101.0
Building edit-distance-0.2.2.1...
Building ed25519-0.0.5.0...
Configuring tar-0.5.0.3...
Installed ed25519-0.0.5.0
Building tar-0.5.0.3...
Installed edit-distance-0.2.2.1
Installed HTTP-4000.3.9
Installed tar-0.5.0.3
Installed Cabal-2.0.1.1
Downloading hackage-security-0.5.2.2...
Configuring hackage-security-0.5.2.2...
Building hackage-security-0.5.2.2...
Installed hackage-security-0.5.2.2
Downloading cabal-install-2.0.0.1...
Configuring cabal-install-2.0.0.1...
Building cabal-install-2.0.0.1...
Installed cabal-install-2.0.0.1
Updating documentation index
/Users/foo/Library/Haskell/share/doc/x86_64-osx-ghc-8.0.1/index.html

バージョンの確認をしてみると、変わっていません。

$ cabal --version
cabal-install version 1.24.0.0
compiled using version 1.24.0.0 of the Cabal library

絶対パスで指定すると期待したバージョンになっています。

$ which cabal
/Users/ogawanaoto/Library/Haskell/bin/cabal
$ /Users/ogawanaoto/Library/Haskell/bin/cabal --version
cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library
$

なので、設定の再読込をしました。

$ source ~/.bash_profile
$ cabal --version
cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library
$