Невозможно скомпилировать после обновления с кристалла 0.19.4 до 0.20

Установка осколков прошла успешно, но компиляция выдала эту ошибку. Проверено с помощью icr, который может успешно подключаться к локальной базе данных postgres. Любая помощь очень ценится! Спасибо.

      [aranin@acbc328b9a5b:kemal-react-pg-chat-master]$ crystal build src/app.cr --release
  Error in src/app.cr:44: instantiating 'Kemal:Module#run()'

  Kemal.run
        ^~~

  in lib/kemal/src/kemal.cr:11: instantiating 'run(Nil)'

    def self.run(port = nil)
    ^

  in lib/kemal/src/kemal.cr:41: instantiating 'HTTP::Server::Context#params()'

          image = env.params.url["image"]
                      ^~~~~~

  in lib/kemal/src/kemal/context.cr:11: instantiating 'route_lookup()'

        @request.url_params ||= route_lookup.params
                                ^~~~~~~~~~~~

  in lib/kemal/src/kemal/context.cr:21: instantiating 'HTTP::Request#override_method()'

        Kemal::RouteHandler::INSTANCE.lookup_route(@request.override_method.as(String), @request.path)
                                                            ^~~~~~~~~~~~~~~

  in lib/kemal/src/kemal/request.cr:7: instantiating 'check_for_method_override!()'

      @override_method ||= check_for_method_override!
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~

  in lib/kemal/src/kemal/request.cr:14: instantiating 'Kemal::ParamParser#body()'

        params = Kemal::ParamParser.new(self).body
                                              ^~~~

  in lib/kemal/src/kemal/param_parser.cr:24: expanding macro

      {% for method in %w(url query body json) %}
      ^

  in macro 'macro_4590134368' /Users/aranin/Documents/rub-me/crystalax/kemal-react-pg-chat-master/lib/kemal/src/kemal/param_parser.cr:24, line 26:

2 ответа

Решение

Возможно, это означает, что версия kemal для Crystal 0.20.0 еще не выпущена. Вы можете изменить файл shard.yml так, чтобы он указывал на главную ветку:

dependencies:
  kemal:
    github: sdogruyol/kemal
    branch: master

Это сработало для меня.

Выпущен Kemal 0.17.0 с поддержкой Crystal 0.20.0. Если вы не хотите отслеживать мастер, вы можете использовать его с

dependencies:
  kemal:
    github: sdogruyol/kemal
    version: 0.17.0
Другие вопросы по тегам