0

私は Haskell にまったく慣れていません。Web での使用方法に関するチュートリアルに従おうとしています。

私は Mac OSX を使用しているので、OSX 用の haskell プラットフォームをhttp://www.haskell.org/platform/mac.htmlからダウンロードしました。

それから私はやった

cabal update

cabal install の新しいバージョンが利用可能であるとのことでした。

バージョン Cabal-1.16.0.3 をコンパイルし、$HOME/Library/Haskell にインストールしました。$HOME/Library/Haskell/bin を $PATH の先頭に追加し、新しいターミナルを開きます。

それから私は cabal --version をします

しかし、バージョンは 1.14 です $HOME/Library/Haskell/bin/cabal --version を実行すると、バイナリがライブラリ バージョン 1.14 を使用していることがわかります。プラットフォームのバージョンではなく、新しくインストールされたバージョンを使用するにはどうすればよいですか?

次に、cabal install cabal-dev を実行します

コンパイルする新しいパッケージのメッセージを取得しますが、このメッセージにはcabalも含まれています:

The following packages are likely to be broken by the reinstalls:
network-2.3.1.0
haskell-platform-2012.4.0.0
cgi-3001.1.7.4
HTTP-4000.2.5

私はこれがどのように聞こえるかが好きではありません。

以前、別のコンピューターに yesod をインストールしようとしましたが、同じような問題が発生したことを覚えています。最終的に yesod はインストールされませんでした。今回は何かを壊すようなことはしたくありません。

Yesod または任意の haskell パッケージを mac osx で動作させる正しい方法は何ですか?

4

1 に答える 1

3

プラットフォームのバージョンではなく、新しくインストールしたバージョンを使用するにはどうすればよいですか?

cabal が教えてくれるように、ディレクトリを PATH 環境変数に追加するだけです。たとえば、bash をシェルとして使用する場合は、

export PATH=$HOME/Library/Haskell/bin:$PATH

$HOME/.bashrc に移動して、シェルを再起動します。

Yesod または任意の haskell パッケージを mac osx で動作させる正しい方法は何ですか?

この質問は OSX 固有ではなく、cabal 固有です。答えは、インストールしたいすべてのパッケージを cabal に伝えることです。たとえば、次のように試すことができます

cabal install cabal-dev haskell-platform # or
cabal install cabal-dev async cgi fgl GLUT haskell-src html HTTP HUnit mtl network OpenGL parallel parsec QuickCheck random regex-base regex-compat regex-posix split stm syb text transformers vector xhtml zlib

または、特定のパッケージが再構築されないようにするだけの場合は、 のようにinstalled制約を使用できますcabal install cabal-dev --constraint "haskell-platform installed"

于 2013-01-19T12:50:09.117 に答える