"Фиговое колесо" не является задачей

Я счастливо использовал фиговое колесо весь день. Я прекратил процесс, введя :cljs/quit,

Когда я пытаюсь перезапустить figwheel lein figwheelЯ приветствую это сообщение от leiningen:

'figwheel' is not a task. See 'lein help'

Бег lein help перечисляет много задач, которые я могу выполнить, но figwheel не входит в их число.

Вот что мой project.clj выглядит (лишние вещи исключены):

(defproject myproject
 ...
:dependencies [...]
:plugins [[lein-environ "1.0.2"]
          [lein-cljsbuild "1.1.1"]
          [lein-asset-minifier "0.2.4"]]
...
:profiles {:dev {:dependencies [...
                                [lein-figwheel "0.5.0-6"]
                                ...]
                 :plugins [[lein-figwheel "0.5.0-6"]
                           ...]
                 :figwheel {...}}}
 ...)

Вот что я пробовал до сих пор:

  • Проверено я был в правильном каталоге
  • Проверил все изменения кода, сделанные с момента последнего успешного запуска figwheel
  • добавленной [lein-figwheel "0.5.0-6"] на базу :plugins вектор (этот вид работал, но не распознавал какие-либо настройки моего профиля)
  • Перезагрузил мой компьютер

1 ответ

Решение

Вы можете напечатать lein help profiles читать все о профилях. Проблема в этом случае вызвана:

Помните, что если профиль с одинаковым именем указан в нескольких местах, выбирается только профиль с наивысшим "приоритетом" - объединение не выполняется. "Приоритет" - от наивысшего к низшему - profiles.clj, project.clj, общедоступные профили и, наконец, общесистемные профили.

Это использует :dev в profiles.clj, у которого нет figwheel. Это также, почему добавление lein-figwheel на базу :plugins вроде помогло, но не использует все ваши настройки.

Существует простое решение, предложенное в документах:

Если вам нужно разрешить личные переопределения частей профиля, вы можете использовать составной профиль с общими и личными частями - что-то вроде :dev [:dev-common :dev-overrides]; вы бы тогда просто :dev-overrides {} в project.clj и переопределить его в profiles.clj.

Другие вопросы по тегам