stack.yaml没有从github拉入依赖

时间:2017-05-04 17:27:37

标签: haskell haskell-stack

这里是stack.yaml节

软件包:

- location:
   git: https://github.com/TwitterFriends/lsh.git
   commit: 57d57f4209e56f526c0eca023907015935c26071
   extra-dep: true

我将包添加到cabal文件

尝试构建

时出错
While constructing the BuildPlan the following exceptions were encountered:

--  While attempting to add dependency,
    Could not find package lsh in known packages

我做错了什么?

目前找到的项目

https://github.com/TwitterFriends/twitter-friend-server

2 个答案:

答案 0 :(得分:3)

问题是语法。您在Map之前添加了一些额外的空格。将其放在null中。有了这个,您的项目就建立在我的机器上。

extra-dep

更新: (2017年12月17日)

由于添加github依赖项的stack.yaml语法已更改。您需要将您的github依赖项添加到- location: git: https://github.com/TwitterFriends/lsh.git commit: 57d57f4209e56f526c0eca023907015935c26071 extra-dep: true 字段中。像这样:

stack-1.6.1

答案 1 :(得分:1)

您遇到的问题似乎是由于您stack.yaml文件中的行中出现语法错误,而该错误位于您在问题中发布的行之前。

当我访问您的回购并检出整个stack.yaml文件时,我看到了:

resolver: lts-8.13

# User packages to be built.
# Various formats can be used as shown in the example below.
# 
packages:

# - https://example.com/foo/bar/baz-0.0.2.tar.gz
- location:
    git: https://github.com/TwitterFriends/lsh.git
    commit: 57d57f4209e56f526c0eca023907015935c26071
  extra-dep: true

packages:行看起来不正确,特别是考虑到您在文件中的后期:

packages:
- '.'

所以我最好的猜测是stack.yaml文件没有被正确解析,所以它无法找到b / c它不知道它应该从那个位置抓取它。