2017-05-04 86 views
1

这里的stack.yaml节stack.yaml不依赖从GitHub

包:

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

我添加了包时我尝试建立

到小集团文件

得到错误

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

发现的问题是语法。您在extra-dep之前添加了一些额外的空格。把它放在stack.yaml。有了这个,你的项目建立在我的机器上。

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

UPDATE:(二○一七年十二月一十七日)

由于添加的github依赖性的语法stack-1.6.1被改变。您需要将您的github依赖项添加到extra-deps字段中。事情是这样的:

resolver: lts-9.17 
packages: [.] 

extra-deps: 
- fmt-0.5.0.0 
- git: https://github.com/TwitterFriends/lsh.git 
    commit: 57d57f4209e56f526c0eca023907015935c26071 
+0

lsh包被注释掉.cabal文件。我删除了评论,并面临同样的问题。尝试做一个混帐拉看到变化。 –

+0

现在我不知道这里有什么问题。这对我来说是个谜。但我注意到你有两个'package'元素。尝试删除这两个'软件包'并且只添加这个:http://lpaste.net/6027187186263130112它现在为我找到'lsh'软件包。另外,不要忘记之前使用“stack clean”,有时可能会有所帮助。 – Shersh

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。