Комментарий правильно указывает вам на области действия пакета: использование области пакета каталога является наиболее точным уровнем контроля, доступным на уровне менеджера пакетов. Однако, как говорят документы,
Проверка конфликтов запрещает установку одного и того же или конфликтующего пакета в разных областях…
Конструктивное решение системы пакетов Racket не позволяет нескольким версиям одного и того же пакета сосуществовать в одной и той же установке. Идея состоит в том, что пакет не должен вносить критические изменения, используя одно и то же имя. Одним из упомянутых источников вдохновения являются системы пакетов уровня ОС, такие как Debian, где gcc-4.7
и gcc-4.8
— это разные пакеты, которые устанавливают разные двоичные файлы. Это очень отличается от практики некоторых других систем языковых пакетов (например, npm), но на практике это работает хорошо, потому что сообщество Racket очень серьезно относится к обратной совместимости.
На самом деле это вторая система пакетов Racket. Старая система, PLaneT, пыталась быть гораздо более в понятиях версий. Новая/текущая система сознательно удалила некоторые из этих элементов, чтобы создать более минимальную и целенаправленную систему пакетов, а это означает, что многое из того, что раньше должно было быть «встроено» в Racket, теперь может быть просто еще одним пакетом. Вас может заинтересовать обсуждение структуры системы пакетов. В то время также было много обсуждений в списке рассылки, а именно заархивировано здесь.
Если вы обнаружите, что вам нужны разные версии пакетов, которые не могут поддерживаться существующими механизмами, вы можете использовать автономную установку Racket (а не общесистемную), чтобы получить полностью изолированную среду. Я уверен, что сообществу Racket также будет интересно узнать о любых проблемах, с которыми вы столкнулись на практике.
person
LiberalArtist
schedule
28.06.2019
raco pkg install --help
показывает вариант--scope-dir
, который может быть полезен. Вы можете просмотреть документацию по областям действия пакета. а>. - person Flux   schedule 28.06.2019