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. チョコレートのパッケージ依存関係を一覧表示する
- 2. Java/Scalaでのmaven依存関係の一覧表示
- 3. WebサイトMavenの推移的な依存関係を一覧表示
- 4. CMAKE:依存関係の依存関係を自動的に追加します
- 5. Pythonの依存関係を一覧表示するためのコード、回避ループ
- 6. Mavenプロジェクトの依存関係の一覧をJavaクラスに取得する方法
- 7. package.jsonの依存関係を自動的に更新する
- 8. haskellプロジェクトの依存関係を自動的にダウンロードしますか?
- 9. perlにperl依存関係を自動的にインストールする
- 10. 依存関係をエンタープライズリポジトリに自動的に展開する
- 11. Eclipse - Mavenがプロジェクトに自動的に依存関係を追加しない
- 12. C++の#include依存関係を自動的にソート
- 13. SBT動的プロジェクトの依存関係(コマンドライン引数に基づく)
- 14. Jsonの依存関係が自動的にアップグレードされない
- 15. CMAKE自動ヘッダファイルの依存関係
- 16. 自動ファクシミリの依存関係
- 17. Robolectric:プロジェクトの依存関係
- 18. Sbtプロジェクトの依存関係
- 19. IntelliJ Artifact自動インポートMaven依存関係?
- 20. 自動再構築依存関係(メイクファイル)
- 21. 明示的なMakefileの依存関係
- 22. すべてのJersey OSGiバンドルの依存関係を自動的にダウンロードする
- 23. Nugetパッケージの依存関係を自動的に更新する方法は?
- 24. npmピア依存関係を自動的にインストールするには?例えば
- 25. 循環依存関係と動的アセンブリローディング
- 26. ビューとテーブルの関係をすべて一覧表示する
- 27. makefileで-MMDをg ++で自動的に依存関係を生成する
- 28. SQL Management Studio '依存関係の表示'ですべての依存関係が表示されない
- 29. RADのMANIFEST.MFはすべての依存関係を一覧表示していません
- 30. 依存関係の依存関係
Cabalは、あなたが 'cabal init'を実行するときに依存関係を見つけようとします。それはあなたが考えていた機能の一種ですか? –
どの段階ですか?私はCabal initを使用していましたが、依存関係を把握することはできませんでした。 –
どのステージですか?いくつかのコードを書いて、あなたのプロジェクトをカバレージする準備ができている段階(.cabalファイルを作成する段階)。充分に新しいバージョンのカバールがモジュールを読み、依存関係を推測しようとします。 –