31

公式サイトからHaskellをインストールしました。その後、クイックスタートチュートリアルに従います。

走る:

cabal update

これはこのメッセージを示しています:

Downloading the latest package list from hackage.haskell.org
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install

走る:

cabal install cabal-install

更新が成功したかどうかを確認します

cabal update

その結果、最初から同じメッセージが表示されます。

Downloading the latest package list from hackage.haskell.org
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install

それで、私はcabal-installをアップグレードしましたか?カバールのバージョンを確認するにはどうすればよいですか?

重要:MacOSX用に64ビットバージョンを使用しています。

4

9 に答える 9

29

私の場合(そしておそらく他の人?)、カバールは/usr/local/binインストール時に自作によって最初にインストールされhaskell-platformます。カバールをアップグレードする場合、バージョンはにインストールされ$HOME/.cabal/bin/cabalます。$PATH次のように、カバールのゴミ箱をより高い位置に配置する必要があります。

export PATH=$HOME/.cabal/bin:$PATH
于 2014-01-18T06:02:19.477 に答える
19

2012.4.0.0HaskellプラットフォームをOSXにインストールした後、同様の問題が発生しました。私が走ったときcabal install cabal-install、それはで終わった:

cabal: ../ghc-7.4.2/lib/cabal-install-1.16.0.2/bin/cabal: does not exist

だから私はそれがどこかでそのパスを混乱させたと思いました。ただし、実行可能ファイルは実際には正常にビルドされ(を確認~/Library/Haskell/ghc-7.4.2/lib/cabal-install-1.16.0.2/bin/cabal)、そこから~/Library/Haskell/binパス上にコピーしただけです。

その後、すべてが正常に実行されました。

$ which cabal
/Users/luke/Library/Haskell/bin/cabal
$ cabal update
Downloading the latest package list from hackage.haskell.org
$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0.3 of the Cabal library
于 2013-02-17T23:52:45.753 に答える
12

ここでは、誰もが少し異なる問題を経験しているようです。私の場合、cabalは正常にビルドされ、にインストールされました~/Library/Haskell/bin

で述べたように、問題を解決するため~/.cabal/configに追加~/Library/Haskell/binします。PATH

以下はの説明です~/.cabal/config

-- === Built executables will be installed in:
--     ~/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"
于 2013-11-01T23:02:06.613 に答える
10

OS X 10.8では/Library/Haskell/bin、PATHに追加する必要がありました(前に配置します/usr/bin)。これを追加すると、エラーメッセージが修正されました

于 2013-10-18T02:32:13.817 に答える
3

cabal --version実行しているカバールのバージョンを提供します。お持ちのcabal-installのバージョンを確認したい場合は、実行して、インストールされているバージョンcabal info cabal-installの行を確認してください。

OS Xの私にとって、インストールされているバージョン[unknown]、実行後ですがcabal install cabal-install、これは素晴らしいことではありません。

于 2013-02-17T05:34:57.863 に答える
3

私もこの問題を抱えていました。

実行した後which cabal、使用していることがわかりました/usr/bin/cabal。これを削除すると問題が解決しました。

于 2013-03-19T22:14:07.100 に答える
1

デフォルトでは、cabalは現在のユーザーのパッケージをローカルにインストールするため、PATHの一部にはならないようです。デフォルトでグローバルにインストールするように構成を変更できるCabalのドキュメント、特にステップ1.2.1を参照してください(推奨されません)。

私がcabalをインストールした方法はcabal --global install cabal-install、パスに問題がありましたが、Haskellのデフォルトのインストール以降、C:\Program Files\Haskell Platform\2013.2.0.0\lib\extralibs\bin;C:\Program Files\Haskell Platform\2013.2.0.0\bin;最初のパスが2番目のパスよりも優先される順序でパスが配置されます。--globalフラグを使用すると、cabalがインストールさC:\Program Files\Haskell\binれ、パスに含まれていないがパスの前に追加する必要があるバイナリがインストールされC:\Program Files\Haskell Platform\2013.2.0.0\lib\extralibs\binます。

ドキュメントから取得

%PATH%にあるディレクトリ(C:\ Program Files \ Haskell \ binなど)にcabal.exeを配置する必要があります。

于 2014-05-12T08:43:23.293 に答える
1

私の場合、この問題を解決するには、ここでいくつかの回答を組み合わせる必要がありました。私は、私の状況にある他の人のために、より包括的な解決策を1つの答えで提供しようと試みます。

  • 手始めに、実行すると、ロードされwhich cabalていること/usr/bin/cabalがわかりました。これは、へのシンボリックリンクでした/Library/Haskell/ghc-7.8.3-x86_64/bin/cabal。新しいバージョンのcabalがインストールされていると思いますが、このパスは単一のバージョンに固有であるため、無視されました。/Library/Haskell/bin私の前に追加すると、$PATHその状況が改善されました。
  • 次に、さらに重要なことに、の新しいバージョンがcabal-installシステムの場所ではなく、私のカバールサンドボックスにインストールされていました。これを示唆する他の回答は見当たりませんでしたが、少しおかしくなった後、アプリケーションのディレクトリの外に移動すると、cabalが実際にシステムにインストールできることがわかりました。
  • 最後に--global、コマンドにフラグを追加すると、問題が修正されました。私の最後のコマンドはでしたcabal install --global cabal-install。この後、ようやくちゃんとアップデートできました。

TL; DR:カバールサンドボックスを使用する場合は、プロジェクトのディレクトリの外に移動して、を実行しますcabal install --global cabal-install。また、$PATH他の人が示唆しているように、変数を確認してください。

于 2015-04-25T17:45:06.667 に答える
0

私の場合、新しいバージョンのcabalは、私が参加していたプロジェクトの.cabal-sandboxにインストールされていました。

例:バージョンの確認:

./.cabal-sandbox/bin/cabal --version

それで、それ以外でアップグレードする必要がありました。これはOSXにありました。

于 2015-02-15T15:56:05.470 に答える