Haskell 使用堆栈设置安装ghc时权限被拒绝

Haskell 使用堆栈设置安装ghc时权限被拒绝,haskell,haskell-stack,Haskell,Haskell Stack,下面我将开始使用堆栈工具 $> stack --version Version 0.1.3.1, Git revision 908b04205e6f436d4a5f420b1c6c646ed2b804d7 在“安装GHC”步骤中,我获得了被拒绝的权限: $> stack setup Run from outside a project, using implicit global config Using resolver: lts-3.2 from global config f

下面我将开始使用堆栈工具

$> stack --version
Version 0.1.3.1, Git revision 908b04205e6f436d4a5f420b1c6c646ed2b804d7
在“安装GHC”步骤中,我获得了被拒绝的
权限

$> stack setup
Run from outside a project, using implicit global config
Using resolver: lts-3.2 from global config file: /Users/karl/.stack/global/stack.yaml
Preparing to download ghc-7.10.2 .../Users/karl/.stack/programs/x86_64-osx/ghc-7.10.2.tar.bz2.tmp: 
openBinaryFile: permission denied (Permission denied)
这是预期的(指南中的错误)还是堆栈中的错误

使用
sudo
运行相同的命令似乎可以解决问题。这是预期的方法吗

$> sudo stack setup
Password:
Downloaded ghc-7.10.2.                                      
Installed GHC.     
stack will use a locally installed GHC
For more information on paths, see 'stack path' and 'stack exec env'
To use this GHC and packages outside of a project, consider using:
stack ghc, stack ghci, stack runghc, or stack exec

我正在运行OS X 10.10.4(约塞米蒂)的新安装。

多亏@user5402的建议,我发现由于某种原因,
~/.stack/programs
归root所有


移除
.stack
目录后,
堆栈设置
按预期工作

sudo
似乎合适。。。它确实说它下载并安装了GHC编译器…我可能有点不清楚。。。是
sudo堆栈设置
解决了问题。我的问题是,使用sudo是否是预期的方式(即,我遵循的指南中存在错误),或者是否有其他首选方法。这可能是一个字符串问题,但您是否具有主目录的读/写权限?您家中
.stack
目录的当前所有者是谁?@JustinWood我对我的主目录有读/写权限。我是
.stack
目录
drwxr-xr-x 10 karl staff 340 Aug 26 00:54的所有者。stack
。您的
~/.stack
下可能有一个目录属于root。以重新编译模块为代价,执行
/bin/rm-rf~/.stack
是相当安全的。然后只需再次执行
堆栈设置