Haskellプロジェクトでは、依存関係のリスト全体を自動的に計算する方法はありますか?含まれているが必須ではないライブラリだけでなく、それが依存するすべてのライブラリ。プロジェクトの依存関係を自動的に一覧表示する
9
A
答えて
8
私がコメントで言ったように、cabal-installはこれをしています(私はcabal-install 0.14.0を使っています)。これはモジュールルックアップ(GHCiなど)でパッケージを推測しています。それは実際の知性を持っていません。あなたがインストールしたバージョンのマッチメジャーバージョンにバージョンを設定するだけです。
以下は、Data.Vector
をインポートし、cabal-installをインポートするダミーパッケージを作成しています。私はvector 0.9。*を使用しています。
[[email protected] blah]$ pwd
/tmp/blah
[[email protected] blah]$ cat Data/Blah.hs
module Data.Blah where
import Data.Vector
[[email protected] blah]$ cabal init
Package name? [default: blah]
...SNIP...
What does the package build:
1) Library
2) Executable
Your choice? 1
Include documentation on what each field means (y/n)? [default: n]
Guessing dependencies... <--- SEE, SEE! YAY!
Generating LICENSE...
Warning: unknown license type, you must put a copy in LICENSE yourself.
Generating Setup.hs...
Generating blah.cabal...
You may want to edit the .cabal file and add a Description field.
[[email protected] blah]$ cat blah.cabal
-- Initial blah.cabal generated by cabal init. For further documentation,
-- see http://haskell.org/cabal/users-guide/
name: blah
version: 0.1.0.0
synopsis: Sisponys
-- description:
-- license:
license-file: LICENSE
author: Me
maintainer: [email protected]
-- copyright:
-- category:
build-type: Simple
cabal-version: >=1.8
library
exposed-modules: Data.Blah
-- other-modules:
build-depends: base ==4.5.*, vector ==0.9.* <-- SEE?? SEE! YIPPEE!!
+0
私は 'cabal-install version 0.10.2'を使用しています。これはHaskellプラットフォームにバンドルされたバージョンなので、最近の機能だと思います。 –
+0
@VladtheImpala最新の0.14.0リリースが必要だと思います。さまざまな 'キャバル初期化'の改良が含まれています。 –
関連する問題
- 1. WebサイトMavenの推移的な依存関係を一覧表示
- 2. CMAKE:依存関係の依存関係を自動的に追加します
- 3. Mavenプロジェクトの依存関係の一覧をJavaクラスに取得する方法
- 4. 依存関係をエンタープライズリポジトリに自動的に展開する
- 5. perlにperl依存関係を自動的にインストールする
- 6. haskellプロジェクトの依存関係を自動的にダウンロードしますか?
- 7. C++の#include依存関係を自動的にソート
- 8. CMAKE自動ヘッダファイルの依存関係
- 9. 明示的なMakefileの依存関係
- 10. すべてのJersey OSGiバンドルの依存関係を自動的にダウンロードする
- 11. 循環依存関係と動的アセンブリローディング
- 12. SQL Management Studio '依存関係の表示'ですべての依存関係が表示されない
- 13. npmピア依存関係を自動的にインストールするには?例えば
- 14. makefileで-MMDをg ++で自動的に依存関係を生成する
- 15. 依存関係のプロパティ依存関係
- 16. 依存関係の依存関係
- 17. RADのMANIFEST.MFはすべての依存関係を一覧表示していません
- 18. Springアプリケーションコンテキストファイルの依存関係をグラフィカルに表示する方法
- 19. Mavenの依存関係と複数のプロジェクトの依存関係の管理
- 20. 依存プロジェクトの強制再ビルド(最初にビルド依存関係)
- 21. Visual Studioプロジェクトのバイナリの依存関係
- 22. ビルドスクリプトのプロジェクトへの依存関係
- 23. Visual Studioでのプロジェクトの依存関係
- 24. %と*一緒に依存関係の行
- 25. Clojure REPLで動的に依存関係をロードする
- 26. 依存関係を動的にロードする
- 27. 既存の依存関係の自動インポート
- 28. MavenプロジェクトをPlayframework依存関係
- 29. MuleプロジェクトのMaven依存関係問題
- 30. iPhoneプロジェクトの依存関係管理
Cabalは、あなたが 'cabal init'を実行するときに依存関係を見つけようとします。それはあなたが考えていた機能の一種ですか? –
どの段階ですか?私はCabal initを使用していましたが、依存関係を把握することはできませんでした。 –
どのステージですか?いくつかのコードを書いて、あなたのプロジェクトをカバレージする準備ができている段階(.cabalファイルを作成する段階)。充分に新しいバージョンのカバールがモジュールを読み、依存関係を推測しようとします。 –