我试图用Haskell Stack建立the code from PCPH。但是,我收到有关Cabal未找到happy
的错误。我有安装alex
和happy
虽然(他们在/usr/bin
)。Stack/Cabal找不到快乐
setup-Simple-Cabal-1.22.5.0-ghc-7.10.3: The program 'happy' is required but it
could not be found
-- While building package parconc-examples-0.4.3 using:
这里就是栈认为我PATH
是:
$ stack exec bash
$ echo $PATH | tr : '\n'
/home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3/bin
/home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3/bin
/home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/bin
/home/steshaw/.nix-profile/bin
/home/steshaw/.nix-profile/sbin
/usr/local/sbin
/usr/local/bin
/home/steshaw/Projects/shelly/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin
下面是从stack path
输出:
stack-root: /home/steshaw/Projects/shelly/dotfiles/.stack
project-root: /home/steshaw/Projects/parconc-examples
config-location: /home/steshaw/Projects/parconc-examples/stack.yaml
bin-path: /home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3/bin:/home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/bin:/home/steshaw/.nix-profile/bin:/home/steshaw/.nix-profile/sbin:/usr/local/sbin:/usr/local/bin:/home/steshaw/Projects/shelly/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
programs: /home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux
compiler-exe: /home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/bin/ghc
compiler-bin: /home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/bin
local-bin: /home/steshaw/.local/bin
extra-include-dirs:
extra-library-dirs:
snapshot-pkg-db: /home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3/pkgdb
local-pkg-db: /home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3/pkgdb
global-pkg-db: /home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/lib/ghc-7.10.3/package.conf.d
ghc-package-path: /home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3/pkgdb:/home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3/pkgdb:/home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux/ghc-7.10.3/lib/ghc-7.10.3/package.conf.d
snapshot-install-root: /home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3
local-install-root: /home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3
snapshot-doc-root: /home/steshaw/Projects/shelly/dotfiles/.stack/snapshots/x86_64-linux/lts-4.2/7.10.3/doc
local-doc-root: /home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3/doc
dist-dir: .stack-work/dist/x86_64-linux/Cabal-1.22.5.0
local-hpc-root: /home/steshaw/Projects/parconc-examples/.stack-work/install/x86_64-linux/lts-4.2/7.10.3/hpc
local-bin-path: /home/steshaw/.local/bin
ghc-paths: /home/steshaw/Projects/shelly/dotfiles/.stack/programs/x86_64-linux
这里是快乐的版本,堆栈发现我的路径:
$ stack exec -- happy -V
Happy Version 1.19.5 Copyright (c) 1993-1996 Andy Gill, Simon Marlow (c) 1997-2005 Simon Marlow
Happy is a Yacc for Haskell, and comes with ABSOLUTELY NO WARRANTY.
This program is free software; you can redistribute it and/or modify
it under the terms given in the file 'LICENSE' distributed with
the Happy sources.
我在Ubuntu 16.04.1 LTS(x86_64)上。
你可以给我们'堆栈exec'的输出echo $ path“'? – epsilonhalbe
该命令不太正常,但让我试一试 –
我认为这是不正确的 - 你开始一个bash,因此你从全局和本地bash配置加载的东西。但我检查了 - 有一个“堆栈路径”命令,应该列出有趣的东西。 – epsilonhalbe