2016-08-20 7 views
1

Я пытаюсь использовать стек Haskell (lts-6.12 resolver), чтобы настроить и запустить small demo program для диаграммы. Я создал проект с stack new, stack init и т. Д., Затем изменил сгенерированный Main.hs, добавив демо-код. Я также добавил пакеты Chart и Chart-cairo в файл .cabal и запустил stack build. Много и много пакетов, установленные, в том числе диаграммы и диаграмма-Каир, судя по выходу, и, когда это было наконец сделано, он попытался собрать Main.hs, но не со следующими ошибками:Стек не может найти Chart или Chart-cairo, хотя файл для них вызывает звонки

/home/asdf/my-project/app/Main.hs:4:8: 
Could not find module ‘Graphics.Rendering.Chart.Easy’ 
It is a member of the hidden package ‘[email protected]_Cz416CvPROo70VikOoIoki’. 
Perhaps you need to add ‘Chart’ to the build-depends in your .cabal file. 
Use -v to see a list of the files searched for. 

/home/asdf/my-project/app/Main.hs:5:8: 
Could not find module ‘Graphics.Rendering.Chart.Backend.Cairo’ 
It is a member of the hidden package ‘[email protected]_I1HGJHEm7pvIiSoYgOrXbq’. 
Perhaps you need to add ‘Chart-cairo’ to the build-depends in your .cabal file. 
Use -v to see a list of the files searched for. 

Как укладывать быть загрузить эти пакеты успешно, а затем как-то не найти их позже? Как это может заставить нерв (jk) попросить меня поместить зависимости в мой файл .cabal, когда он уже получил их оттуда, чтобы загрузить их в первую очередь?

Вот список зависимостей:

$ stack list-dependencies 
Chart 1.6 
Chart-cairo 1.6 
StateVar 1.1.0.4 
adjunctions 4.3 
array 0.5.1.0 
base 4.8.2.0 
base-orphans 0.5.4 
bifunctors 5.2 
binary 0.7.5.0 
bytestring 0.10.6.0 
cairo 0.13.1.1 
colour 2.3.3 
comonad 4.2.7.2 
containers 0.5.6.2 
contravariant 1.4 
data-default-class 0.0.1 
deepseq 1.4.1.1 
distributive 0.5.0.2 
exceptions 0.8.3 
filepath 1.4.0.0 
free 4.12.4 
ghc-prim 0.4.0.0 
hashable 1.2.4.0 
hmatrix 0.17.0.2 
integer-gmp 1.0.0.0 
kan-extensions 4.2.3 
lens 4.13 
machine-learning 0.1.0.0 
mtl 2.2.1 
old-locale 1.0.0.7 
operational 0.2.3.3 
parallel 3.2.1.0 
prelude-extras 0.4.0.3 
primitive 0.6.1.0 
profunctors 5.2 
random 1.1 
reflection 2.1.2 
semigroupoids 5.0.1 
semigroups 0.18.1 
split 0.2.3.1 
stm 2.4.4.1 
storable-complex 0.2.2 
tagged 0.8.4 
template-haskell 2.10.0.0 
text 1.2.2.1 
time 1.5.0.1 
transformers 0.4.2.0 
transformers-compat 0.4.0.4 
unordered-containers 0.2.7.1 
utf8-string 1.0.1.1 
vector 0.11.0.0 
void 0.7.1 
+1

Вы можете показать свой .cabal файл? – ErikR

+0

У вас есть строфа 'исполняемый' или строфа' library' или оба? – ErikR

+0

@ ErikR Я только что понял это после того, как вы попросили файл кэба, и я пошел анонимизировать его, lol. Это действительно путаница строф. Я не ожидал большего, чем один, поэтому просто добавил зависимости к первой «зависящей от сборки», которую я видел. Если вы придумаете какой-то ответ на этот вопрос, я приму это. Благодаря! – nclark

ответ

2

Если у вас есть и executable и library строфу, попробуйте листинг зависимости в обоих.

Если ваш исполняемый файл зависит от этих зависимостей, но вы указали только их в своей библиотечной строфе, вы получите эту ошибку - зависимости от разные строфы независимы друг от друга.

+0

извините, нет больше очков, чтобы предлагать, я ТАК, нищий! – nclark