cabal sandbox
システム ライブラリの一部として Yesod プラットフォームをインストールするよりも、Yesod プロジェクトごとに使用することをお勧めします。cabal サンドボックスは、1 つのプロジェクト内の Haskell パッケージのローカライズされData.Text
たコレクションと考えてください。たとえば、2 つの異なる cabal サンドボックスに異なるバージョンのパッケージを含めることができます。を使用cabal sandbox
すると、コンパイルに時間がかかりますが、依存関係の解決が簡単になります (詳細はこちらをご覧ください: (詳細はこちらをご覧ください: http://coldwa.st/e/blog/2013-08-20-Cabal-sandbox.html )。私が間違っていなければ、少なくとも 1.18cabal sandbox
のバージョンです。cabal
さて、話は十分です。始めましょう。
最新の を入手するには、パッケージ マネージャーが をインストールしない場合でも、パッケージ マネージャーを使用しcabal
てインストールした方が簡単です。あなたはUbuntuを使用しているので、次のようにします:cabal
cabal
cabal sandbox
sudo apt-get install cabal
cabal
のバージョンをインストールしたら、次を実行します。
cabal sandbox
この行に沿って何かが表示された場合:
cabal: Please specify a subcommand (see 'help sandbox')
それからおめでとうございます、あなたがサポートしているバージョンは、cabal
答えのカバルサンドボックスセクションを持つカバルを手に入れたら、先に進みます.cabal sandbox
代わりに次のようなものが表示された場合:
cabal: unrecognised command: sandbox (try --help)
次に、より最新のバージョンの cabal が必要になります。github で cabal リポジトリのクローンを作成するだけです:
git clone https://github.com/haskell/cabal.git
Cabal-v1.18.1.2
ディレクトリに移動し、次のようにブランチをチェックアウトします。
git checkout Cabal-v1.18.1.2
次に実行します。
cabal install Cabal/ cabal-install/
これはcabal
、$HOME/.cabal/bin
フォルダーにインストールする必要があります。システムが配置されているフォルダーの前に、環境変数の前に必ず追加 $HOME/.cabal/bin
してください。PATH
cabal
カバルサンドボックスを備えたカバルを取得したら
Yesod クイック スタート ガイドから読んだ内容に基づいて、yesod-bin
パッケージをインストールする必要があります。ハックページはこちら. 基本的に、足場サイトを初期化できるバイナリをyesod-bin
提供します。yesod
の最新バージョンyesod-bin
は 1.2.5.6 で、これをインストールします。
次の名前のディレクトリを作成しますyesod-bin
。
mkdir yesod-bin
そのディレクトリに移動し、その中に cabal サンドボックスを次のように設定します。
cabal sandbox init
以下を使用して、hackage から最新のパッケージ リストを取得します。
cabal update
次に、最新バージョンのyesod-bin
1.2.5.6 を cabal サンドボックスにインストールします。ただし、デフォルトでバージョン 1.01 をインストールするパッケージにyesod-bin
依存しており、インストールしようとすると、次のようなエラー メッセージが表示されます。mmorph
mmorph-1.01
src/Control/Monad/Morph.hs:76:8:
Could not find module `Control.Applicative.Backwards'
Use -v to see a list of the files searched for.
Failed to install mmorph-1.0.1
cabal: Error: some packages failed to install:
mmorph-1.0.1 failed during the building phase. The exception was:
ExitFailure 1
パッケージバージョンyesod-bin
を指定せずにインストールすると、デフォルトでインストールされ、次のエラーが発生します。mmorph
mmorph-1.0.1
cabal: Error: some packages failed to install:
base64-conduit-1.0.0 depends on mmorph-1.0.1 which failed to install.
blaze-builder-conduit-1.0.0 depends on mmorph-1.0.1 which failed to install.
conduit-1.0.10 depends on mmorph-1.0.1 which failed to install.
http-client-conduit-0.2.0.1 depends on mmorph-1.0.1 which failed to install.
http-conduit-2.0.0.3 depends on mmorph-1.0.1 which failed to install.
http-reverse-proxy-0.3.0 depends on mmorph-1.0.1 which failed to install.
mmorph-1.0.1 failed during the building phase. The exception was:
ExitFailure 1
network-conduit-1.0.1 depends on mmorph-1.0.1 which failed to install.
project-template-0.1.3.2 depends on mmorph-1.0.1 which failed to install.
resourcet-0.4.10 depends on mmorph-1.0.1 which failed to install.
wai-2.0.0 depends on mmorph-1.0.1 which failed to install.
wai-logger-2.1.1 depends on mmorph-1.0.1 which failed to install.
warp-2.0.2 depends on mmorph-1.0.1 which failed to install.
yaml-0.8.5.3 depends on mmorph-1.0.1 which failed to install.
yesod-bin-1.2.5.6 depends on mmorph-1.0.1 which failed to install.
mmorph
これは、 github リポジトリの次の 2 つの問題に関連しているようです。
ただし、mmorph
バージョン1.0.0は問題なく動作します。そのため、次のように、インストール時にのバージョンを 1.0.0 に指定する必要がありmmorph
ます。yesod-bin
cabal install mmorph-1.0.0 yesod-bin-1.2.5.6
これにはかなりの時間がかかります。ディレクトリ内にcabal sandbox
という名前のディレクトリを作成し、バイナリ (パッケージからの他のいくつかのバイナリと共に) をフォルダ内で見つけることができます。そのフォルダーを に追加するだけで、クイック スタートの最後に示したように、およびを実行できるようになります。.cabal-sandbox
yesod-bin
yesod
yesod-bin
.cabal-sandbox/bin
PATH
yesod init
yesod devel