Tworzę prostą stronę internetową używając yesod.Jak korzystać z UTCTime w yesod bez ukrytych błędów modułów?
To działało, dopóki nie dodałem pola typu UTCTime do mojego modelu bazy danych.
początkowo masz błąd sugerując, dodaję „Czas 1.2.0.3” do mojego pliku cabal, tak zrobiłem i teraz mam dużo ten sam błąd, bez sugestii:
Model.hs:6:8:
Could not find module `Data.Time.Clock.UTC':
it is a hidden module in the package `time-1.2.0.3'
Use -v to see a list of the files searched for.
ghc Command linia generowana przez cabal to:
"C:\Program Files (x86)\Haskell Platform\2011.2.0.1\bin\ghc.exe" --make -o dist\build\lpi\lpi.exe -hide-all-packages -fbuilding-cabal-package -package-conf dist\package.conf.inplace -i -idist\build\lpi\lpi-tmp -i. -idist\build\autogen -Idist\build\autogen -Idist\build\lpi\lpi-tmp -optP-DPRODUCTION -optP-include -optPdist\build\autogen\cabal_macros.h -odir dist\build\lpi\lpi-tmp -hidir dist\build\lpi\lpi-tmp -stubdir dist\build\lpi\lpi-tmp -package-id base-4.3.1.0-f520cd232cc386346843c4a12b63f44b -package-id bytestring-0.9.1.10-cd85f14e02463c02ba4c77d7adcdb54f -package-id clientsession-0.7.3.6-70ebb09e2b4c14267f1463cef3c932ea -package-id hamlet-0.10.5-1bacb5fe791e5cc9e28c8cf9f07c06e2 -package-id hjsmin-0.0.14-a1d374204877c150b681896452f205f4 -package-id mime-mail-0.4.1.0-05d76f10c6f18f7178113a6d760f371a -package-id monad-control-0.3.1-092d8fe82727181557b850f795f847bc -package-id persistent-0.6.4.3-6e59b956a206ce4f4a9296367507c2b8 -package-id persistent-sqlite-0.6.2.1-d32462e51baa09b53b6fd83dae922fc7 -package-id shakespeare-css-0.10.4-f8e17e4528d3a37edee74b13441720de -package-id shakespeare-js-0.10.3-dfec6b68f60671528332da06c9799659 -package-id shakespeare-text-0.10.3-a0ae9b85c3588ff2572080a6d1cdd4c3 -package-id template-haskell-2.5.0.0-7d9b1443ac5ab69e5ed705a487990deb -package-id text-0.11.1.9-a75bb47eca7b1c98d59b7697de77ca4d -package-id time-1.2.0.3-74ef6ac31cee9aec02b036978af002d2 -package-id yesod-0.9.3.4-6339564f13b46afd787d750cf9daa3bf -package-id yesod-auth-0.7.8-94a2849a33bb6f6d4c0e15615ef22bea -package-id yesod-core-0.9.3.6-a70073f17a6f050226a91a97c305403d -package-id yesod-default-0.4.1-1f30d8d893952d0661328b681d9ce291 -package-id yesod-form-0.3.4-a84ba844c230f9847bca7c0056375179 -package-id yesod-static-0.3.2-c82f332e85e2c9ba709375b8a14040a1 -O -Wall -threaded -O2 -XHaskell98 -XTemplateHaskell -XQuasiQuotes -XOverloadedStrings -XNoImplicitPrelude -XCPP -XMultiParamTypeClasses -XTypeFamilies -XGADTs -XGeneralizedNewtypeDeriving -XFlexibleContexts .\main.hs
, więc czas-1.0.2.3 jest niewątpliwie odwoływany.
Wszystkie paczki zostały pobrane w ciągu ostatnich 24 godzin, więc powinny być bardzo aktualne.
Jak mogę odkryć Data.Time.Clock.UTC?
Czy możesz pokazać swój plik '.cabal', aby dokładnie pokazać, w jaki sposób dodałeś tę zależność? – dflemstr
'Data.Time.Clock.UTC' nie jest wyeksponowany przez pakiet' time', więc nie można uzyskać do niego dostępu z zewnątrz. Nie można ujawnić ukrytych modułów z pakietu, więc jedynym, ale nie zalecanym sposobem byłoby ponowne zainstalowanie 'time' ze zmienionym plikiem' .cabal' odsłaniającym moduł. ¹Jeśli to zrobisz, Twój kod nie będzie działał dla nikogo innego, ponieważ dla niego jest nadal ukryty. –
Funkcja 'Data.Time.Clock' ponownie eksportuje' Data.Time.Clock.UTC' (która jest ukryta). Jakiej instrukcji importowania używasz w Model.hs - czy 'import Data.Time.Clock' nie działa? –