When installing a package with cabal-install, it will also indirectly install all the dependencies. Given a certain package in my .cabal/packages folder that I didn't directly install, is there a way to find what other package(s) it was a dependency of?
Is there a way to find why cabal installed a certain package?
564 Views Asked by hugomg At
2
There are 2 best solutions below
0
Dan
On
I found cabal-db to be helpful. For example, you can run
cabal-db revdeps semigroupoids
and it will tell you
zippers: semigroupoids (>=4 && <5)
wl-pprint-extras: semigroupoids (>=3 && <5)
vector-instances: semigroupoids (>=3)
validation: semigroupoids (>=4.0)
transformers-abort: semigroupoids (>=1.2)
these: semigroupoids (>=1.0 && <4.1)
etc...
Related Questions in HASKELL
- Cabal sandbox is using a global dependency. Could not resolve
- Haskell lens: let binding of Traversal'
- How can I parse fixed-length, non-delimited integers with attoparsec?
- Pipeline-like operation using TChan
- compile-time vs. run-time cost of Hamlet templates
- Date-time package in haskell - error in the current one, can't find an analog
- How does one debug infinite recursion in Haskell?
- Force GHC using local files
- List with random numbers in Haskell
- Changes in other elements based on listbox selections in threepenny-gui
- Multithreading and gtk2hs
- Operator section for applicative with <$> and <*>
- Unable to create a custom header to use it in "withManager"
- How do I reuse an intermediate value in chain of Haskell Either binds?
- Haskell, Tree problems
Related Questions in GHC
- Force GHC using local files
- GHC complains about overlapping instances when in fact they are not
- What is the procedure for profiling under GHC 7.10.1 and cabal 1.23?
- within a project can I compile a module and interactively load the compiled module within ghci?
- Continuation versus call stack in Haskell
- installing present on ghc-7.10
- Haskell make recipe fails for Paradox theorem prover using GHC
- Text append performance in Haskell
- Which unix compatibility toolchain to use with cabal install on windows?
- cabal update: Local and remote files match
- How to tell if a haskell sourcecode has Bang
- GHC undefined reference to Paths in dependency
- Why does this Haskell program leak space when compiled with optimizations?
- Memory consumption API
- cabal-install and ghc 7.10.1
Related Questions in CABAL
- Cabal sandbox is using a global dependency. Could not resolve
- Force GHC using local files
- Unable to upgrade cabal itself
- How to work with Cabal API
- installing present on ghc-7.10
- issues with installing newer cabal version for haskell vim now
- What is the difference between Cabal and Stack?
- ghcjs-jquery is incompatible with base-4.8.0.0, what to do?
- How to install Stackage as the system default?
- What is haskellng? What is the difference between 'haskellPackages' and 'haskellngPackages'?
- Requiring sudo to run ghci on OSx
- cabal update: Local and remote files match
- GHC undefined reference to Paths in dependency
- Is everything reinstalled from scratch in cabal sandboxes?
- Cabal cannot resolve dependencies - chooses wrong version of `containers`?
Related Questions in CABAL-INSTALL
- What is the procedure for profiling under GHC 7.10.1 and cabal 1.23?
- Which unix compatibility toolchain to use with cabal install on windows?
- ghcjs-jquery is incompatible with base-4.8.0.0, what to do?
- What is haskellng? What is the difference between 'haskellPackages' and 'haskellngPackages'?
- Is everything reinstalled from scratch in cabal sandboxes?
- What can be done to resolve this dependency issue?
- How to install a package using stack?
- Cabal build with c2hs not finding .chs module
- cabal cabal-install error in Ubuntu 14.04
- Cabal update failure (return code: -9)
- Ubuntu 14.04 can not cabal install cpython
- Failing to install Haskell uniplate library
- cabal install cabal-install errors out on linux
- How to update pandoc on centos linux?
- use cabal2nix to create local nix environment for packages that aren't in nixpkgs
Related Questions in GHC-PKG
- Is there a way to find why cabal installed a certain package?
- ghc-pkg: Couldn't open database for modification: hLock: invalid argument
- Upgrading a package without breaking ghc
- How to list files installed by a Haskell cabal package?
- Access GHC package database in test and benchmark suite
- Building haskell platform 2014.2.0.0 on debian wheezy using locally-built ghc
- Someone explain Haskell package management system
- Missing ghc-mod packages in stack project
- Using ghc-pkg list and cabal list --installed give different lists
- Haskell environment hosed post reinstall
- How does ghc resolve paths for libraries ?
- Is there a simple way to load extra packages to ghci when invoked via cabal repl?
- Cannot locate cabal installed packages
- How to work together with cabal-3 and ghc (ghc-pkg, too)?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I found this command somewhere (can't remember where now) and use it regularly to produce a dependency graph of my installed packages:
Note that it's actually
~/.ghcwhich contains the installed package information, rather than~/.cabal.You can also use:
which will print a list of packages which would break if you uninstalled this package, which is effectively what you are looking for:
Update
Using
dot -Tsvg > pkgs.svgin the above command also allows you to use text searches (if you open the file in a browser, for example).Also, the cab utility is very useful for showing dependencies and reverse dependencies, amongst other things.
For stack users
stack dot --externalcan be used from your project directory in place of the aboveghc-pkg dot.