Да приемем, че имам cabal sandbox в папка root
и съм инсталирал пакетите yesod в нея. След това правя:
root> yesod init
Преминавам през подканите и завършвам с папка project
в root
.
yesod devel
изглежда не поддържа предаване на аргументи на пясъчника към него, така че всички пакети, които инсталирам в пясъчника, не са видими за скелетния сайт Yesod (и не искам да инсталирам всичко в глобалното пространство, защото това е невъзможно за управление и репликиране).
Опитах предложението тук , но това ми дава следните грешки:
root> runhaskell -no-user-package-db -package-db=.cabal-sandbox\x86_64-windows-ghc-7.8.4-packages.conf.d project/app/main.hs
project\app\main.hs:2:8:
Could not find module `Application'
Use -v to see a list of the files searched for.
Изпълнение вътре root/project
:
root/project> runhaskell -no-user-package-db -package-db=../.cabal-sandbox\x86_64-windows-ghc-7.8.4-packages.conf.d app/main.hs
Foundation.hs:6:8:
Could not find module `Text.Jasmine'
Use -v to see a list of the files searched for.
Settings.hs:8:8:
Could not find module `ClassyPrelude.Yesod'
Use -v to see a list of the files searched for.
Settings.hs:14:8:
Could not find module `Database.Persist.Sqlite'
Perhaps you meant
Database.Persist.Sql (from persistent-2.1.2)
Database.Persist.Sql.Util (from persistent-2.1.2)
Database.Persist.Class (from persistent-2.1.2)
Use -v to see a list of the files searched for.
Settings\StaticFiles.hs:4:8:
Could not find module `Yesod.Static'
Use -v to see a list of the files searched for.
Някой знае ли за флаг, който мога да задам или нещо подобно?
cabal sandbox init --sandbox=[path to yesod-sandbox]
), трябва да работи (въпреки че ще инсталира допълнителни пакети обратно към него) - като алтернатива мисля, че ще работи и ако просто инициирате нова пясъчна среда (cabal sandbox init
сcabal install --dependencies-only
), но след това ще получите отново всички пакети - person Random Dev   schedule 01.04.2015