2012-04-29 1 views
3

После того как я загрузил свой пакет в хаки, он не создавал пикшу как другие пакеты.При загрузке пакета в хакеры не было получено пикши

Все, что я пропустил?

То, что я сделал это:

  1. cabal dist и пакет генерироваться под Dist каталога.
  2. открыть hackage web upload интерфейс и загрузить пакет.
  3. открыть URL и получается, что пакет загружен успешно, но без пикши. (упаковка имеет несколько документов)

Спасибо.

ответ

6

Документы занимают немного времени для создания. Я считаю, что они бегут в полночь по Гринвичу.

+0

Спасибо Томас. Давайте следить за этим. – Simon

1

В дополнение к ответу Томаса запустите cabal haddock в вашем каталоге пакетов и найдите любые ошибки.

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

0

Похоже, что документация отсутствует, потому что ваш пакет не построен правильно. Я нашел, что это ближе к концу этого build log:

src/Network/OAuth2/HTTP/HttpClient.hs:18:8: 
    Could not find module `Control.Monad.Trans.Resource' 
    It is a member of the hidden package `resourcet-0.3.2.1'. 
    Perhaps you need to add `resourcet' to the build-depends in your .cabal file. 
    Use -v to see a list of the files searched for. 

Чтобы избежать такого рода проблем, убедитесь, что ваш пакет строит локально с Кабал перед загрузкой. Встраивание с GHC напрямую часто маскирует такие проблемы, поскольку оно с радостью будет использовать все установленные вами пакеты, независимо от того, упоминаете ли вы их в своем файле .cabal или нет.

+0

На самом деле я не думаю, что ошибка имеет смысл для меня вызвать модуль 'Control.Monad.Trans.Resource 'является членом канала. Я могу построить свой локальный файл с ghc-7.0.2, поэтому мне интересно, может ли Hackage указать конкретную версию GHC. – Simon

+2

Думаю, я нашел причину. Я не указал верхний предел канала, поэтому в Hackages используется последний, который удалил API-интерфейс «Resource». – Simon