Желаю, если кто-нибудь скажет мне шаги, необходимые для установки gloss-examples
в песочнице вместе со всеми ее зависимостями. Вот что я пытался:haskell cabal sandbox как установить пакеты?
Я скачал gloss-examples
с hackage.
Когда я запускал команду, после изменения в ~/gloss/gloss-examples-1.9.4.1
~/gloss/gloss-examples-1.9.4.1$cabal sandbox init
это удалось, так что я выдал команду
~/gloss/gloss-examples-1.9.4.1$cabal install --only-dependencies
, но потом я получил следующие ошибки:
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: gloss-examples-1.9.4.1 (user goal)
next goal: base (dependency of gloss-examples-1.9.4.1)
rejecting: base-4.5.0.0/installed-c8e... (conflict: gloss-examples =>
base==4.8.*)
rejecting: base-4.8.1.0, base-4.8.0.0, base-4.7.0.2, base-4.7.0.1,
base-4.7.0.0, base-4.6.0.1, base-4.6.0.0, base-4.5.1.0, base-4.5.0.0,
base-4.4.1.0, base-4.4.0.0, base-4.3.1.0, base-4.3.0.0, base-4.2.0.2,
base-4.2.0.1, base-4.2.0.0, base-4.1.0.0, base-4.0.0.0, base-3.0.3.2,
base-3.0.3.1 (constraint from non-upgradeable package requires installed
instance)
Dependency tree exhaustively searched.
Note: when using a sandbox, all packages are required to have consistent
dependencies. Try reinstalling/unregistering the offending packages or
recreating the sandbox.
Как установить этот пакет gloss-examples
и все его depe только в песочнице? Думаю, я понимаю, что песочница cabal позволяет установить любой произвольный пакет со всеми зависимостями (некоторые или все они противоречат глобально установленным пакетам), установленным в отдельном каталоге. Возможно ли это? Я думаю, что у меня что-то не хватает. Является ли это подходящим прецедентом для cabal sandbox? Видя следующее
Note: when using a sandbox, all packages are required to have consistent dependencies.
Есть ли разница между conflicting dependencies
и not consistent dependencies
?
Я пробовал много учебников, включая this, но не мог понять, как использовать песочницу cabal.
Какая версия GHC работает? – dfeuer
Вам не нужно загружать tarball из Hackage для установки пакетов в песочнице. Просто сделайте «cabal sandbox init», чтобы создать песочницу, а затем «cabal install gloss-examples» (или что-то еще, что вы хотите) из того же каталога. – duplode
@duplode, из-за того, что им нужен пакет примеров, я предположил, что они могут захотеть создать изолированную среду для зависимостей, а затем построить пакет с различными модификациями, а не устанавливать его. – dfeuer