私はインストールしたものとは異なるバージョンのベースを必要とするパッケージをインストールしようとしています(私は4.6.0.0
を持っています、彼らは< 4.6
を必要とします)。これらを私のシステムにどのようにインストールできますか?ライブラリに `base 'の別のバージョンが必要な場合はどうすればいいですか?
編集:実際には、これらのパッケージには、.cabalの制約だけでなく、古いパッケージが必要です。
私はインストールしたものとは異なるバージョンのベースを必要とするパッケージをインストールしようとしています(私は4.6.0.0
を持っています、彼らは< 4.6
を必要とします)。これらを私のシステムにどのようにインストールできますか?ライブラリに `base 'の別のバージョンが必要な場合はどうすればいいですか?
編集:実際には、これらのパッケージには、.cabalの制約だけでなく、古いパッケージが必要です。
:あなたのBashの設定で次に
CABAL ?= cabal
build :
$(CABAL) build --builddir=$(BUILD_PATH)
base
を再インストールしないと、これらのパッケージをアップデートする前にインストールする唯一の方法は、ソースを取得することです。
cabal unpack foo
とfoo.cabal
を編集し、そこbase
の上限を変更し、他のパッケージをインストールする際cabal
はそれが壊れていると思われないようにから(それは知っている.cabal
ファイルから、(.1
を追加)パッケージのバージョンをバンプパッケージインデックス)は、それはあなたが解凍したディレクトリからbase
の異なるバージョンを必要とし、
cabal install
言います。
ベース4.6ではいくつかの重要な変更があったため、 Eq
とShow
スーパークラスはNum
から削除されていない、とBits
は、もはやスーパークラスとしてNum
を持って、パッケージをコンパイルするためにいくつかの機能の制約にEq
、Show
またはNum
を追加することで、コードを修正する必要があるかもしれません。
これは不便ですが、最新のGHCバージョンで数週間は最新のものになるための価格です。
あなたのプログラムのうちの1つをこれらのパッケージに依存させたい場合は、のドロップイン代替品としてcabal-dev
を使用できます。前者は、パッケージのローカルコピーを現在のディレクトリのcabal-dev
パスにインストールします。それをインストールするには、単に実行します:ポータビリティのために
cabal install cabal-dev
、あなたがメイクファイルにこのような何かを追加することがあります。あなたができるので
CABAL=cabal-dev
export CABAL
パッケージは、(すなわち、単に制約を変更することが不十分である)あなたが現在持っているベースと互換性がない場合は、あなたの唯一のオプションは、ポートへのパッケージ自身であるか、ベースの正しいバージョンを提供し、古いGHCを使用しています。
まず、パッケージ管理者に確認してください。開発ブランチは必要なものを既にサポートしているかもしれません。
私が行うと、ベースの制約を満たすことができず、インストールを中止するというメッセージが表示されます。 – bfops
何ですか? Base-4.6を許可するために '.cabal'ファイルを編集した後は? –
@RobotGymnast具体的にどのパッケージをインストールしようとしていますか? –