Purescript — Невозможно выполнить сборку с использованием библиотек чертежей и сигналов

#bower #purescript

#bower #purescript

Вопрос:

Я пытаюсь запустить проект purescript, который использует библиотеки purescript signal и drawing purescript. Когда я пытаюсь bower install использовать их оба в качестве зависимостей, интерактивное приглашение bower запрашивает разрешение нескольких версий зависимостей. Я, по общему признанию, выбираю версии несколько произвольно, поскольку большинство проблем связаны с несколькими уровнями глубоких зависимостей. Затем, когда я pulp build использую базовый фрагмент кода hello world, который даже не использует зависимости, pulp выдает около 40 ошибок в зависимости от того, какие версии я выбрал.

Как мне правильно разрешить эти версии зависимостей? Перебор сорока ошибок и всех зависимостей для обоих проектов не представляется возможным. Существует ли какой-либо произвольный способ выбора версий, который разрешит конфликты? Из предложенных мне вариантов не казалось, что существует какое-либо четкое решение. Или их зависимости слишком конфликтуют, и вы просто не можете использовать их вместе?

На самом деле это может быть скорее вопрос о bower, но это также может быть что-то о purescript и pulp, о которых я просто не знаю. Они обе кажутся библиотеками, которые должны быть способны работать вместе, и я не могу представить, что у других людей возникают слишком большие трудности с использованием двух или более библиотек в одном проекте.

Ответ №1:

В Purescript 0.10 внесены критические изменения. Если у вас установлен последний компилятор, вполне вероятно, что он несовместим с некоторыми библиотеками. Из того, что я вижу, библиотека signal обновлена, но чертеж — нет. Вы можете обновить библиотеку и использовать свою собственную версию. Или отправьте сообщение PR, Phil и сообществу purescript в целом, оно действительно быстро реагирует на запросы на извлечение. Другое временное решение — использовать старый компилятор (0.9) и подождать пару месяцев, пока все вернется в нормальное русло.

также смотрите Руководство по миграции 0.10.

Комментарии:

1. Большое вам спасибо! Оказывается, я использовал purescript 0.9. Возможно, это означает, что я в любом случае не смог бы создать версию purescript-signal, которая была перенесена на 0.10. Тем не менее, я просто использовал версию purescript-signal до того, как они внесли изменения в 0.10, и проект hello world был создан как шарм. Я еще не пробовал использовать библиотеки в проекте, но, похоже, основная проблема была связана с тем, что описано в вашем ответе, поэтому, надеюсь, я не столкнусь с какими-либо другими проблемами.

2. О, и я рассмотрю возможность создания запроса на извлечение. Я все еще довольно новичок в purescript, но если окажется, что просто нужно изменить некоторые версии и, возможно, изменить некоторые классы типов, тогда я попробую.