Не работает с SQLJocky (неопределенный класс SHA1 и другие ошибки)

если я попытаюсь обслужить свое приложение для дротиков, я получу следующую ошибку:

Serving `web` on http://localhost:80 [INFO]
    ------------------------------------------------------------------------ [INFO] Starting Build [INFO] Updating asset graph completed, took 15ms [WARNING] build_web_compilers|entrypoint on web/main.dart: Unable to read sqljocky|lib/sqljocky.ddc.js, check your console or the `.dart_tool/build/generated/sqljocky/lib/sqljocky.ddc.js.errors` log file. [INFO] Running build completed, took 22.2s [INFO] Caching finalized dependency graph completed, took 622ms [SEVERE] build_web_compilers|ddc on package:sqljocky/sqljocky.module: Error compiling dartdevc module:sqljocky|lib/sqljocky.ddc.js

    [error] Undefined class 'SHA1'. (package:sqljocky/src/auth/auth_handler.dart, line 24, col 24) [error] Undefined class 'SHA1'. (package:sqljocky/src/auth/auth_handler.dart, line 28, col 20) [error] Undefined class 'SHA1'. (package:sqljocky/src/auth/auth_handler.dart, line 32, col 20) [error] Invalid override. The type of 'ConnectionPool._removeConnection' ('(_Connection) → dynamic') isn't a subtype of '_ConnectionHelpers._removeConnection' ('(dynamic) → dynamic'). (package:sqljocky/src/connection_pool.dart, line 85, col 3) [error] Invalid override. The type of 'ConnectionPool._releaseConnection' ('(_Connection) → dynamic') isn't a subtype of '_ConnectionHelpers._releaseConnection' ('(dynamic) → dynamic'). (package:sqljocky/src/connection_pool.dart, line 89, col 3) [error] Invalid override. The type of 'ConnectionPool._reuseConnection' ('(_Connection) → dynamic') isn't a subtype of '_ConnectionHelpers._reuseConnection' ('(dynamic) → dynamic'). (package:sqljocky/src/connection_pool.dart, line 105, col 3) [error] Invalid override. The type of '_QuitHandler.processResponse' ('(Buffer) → dynamic') isn't a subtype of '_Handler.processResponse' ('(Buffer) → _HandlerResponse'). (package:sqljocky/src/handlers/quit_handler.dart, line 14, col 3) [error] Invalid override. The type of 'Query._releaseConnection' ('(_Connection) → dynamic') isn't a subtype of '_ConnectionHelpers._releaseConnection' ('(dynamic) → dynamic'). (package:sqljocky/src/query.dart, line 170, col 3) [error] Invalid override. The type of 'Query._reuseConnection' ('(_Connection) → dynamic') isn't a subtype of '_ConnectionHelpers._reuseConnection' ('(dynamic) → dynamic'). (package:sqljocky/src/query.dart, line 179, col 3) [error] Invalid override. The type of 'Query._removeConnection' ('(_Connection) → dynamic') isn't a subtype of '_ConnectionHelpers._removeConnection' ('(dynamic) → dynamic'). (package:sqljocky/src/query.dart, line 185, col 3) [error] Invalid override. The type of 'Transaction._releaseConnection' ('(_Connection) → dynamic') isn't a subtype of '_ConnectionHelpers._releaseConnection' ('(dynamic) → dynamic'). (package:sqljocky/src/transaction.dart, line 85, col 3) [error] Invalid override. The type of 'Transaction._reuseConnection' ('(_Connection) → dynamic') isn't a subtype of '_ConnectionHelpers._reuseConnection' ('(dynamic) → dynamic'). (package:sqljocky/src/transaction.dart, line 89, col 3) [error] Invalid override. The type of 'Transaction._removeConnection' ('(_Connection) → dynamic') isn't a subtype of '_ConnectionHelpers._removeConnection' ('(dynamic) → dynamic'). (package:sqljocky/src/transaction.dart, line 93, col 3)

    Please fix all errors before compiling (warnings are okay). }

[SEVERE] Failed after 22.8s

Я не использую никаких функций SQLJocky, это мой импорт:

import 'dart:async';
import 'dart:convert';

import 'package:angular/angular.dart';
import 'package:angular_components/angular_components.dart';
import 'package:sqljocky/sqljocky.dart';
import 'package:sqljocky/utils.dart';
import 'package:options_file/options_file.dart';

Мой pubspec.yaml:

name: MyDartPage
description: A web app that uses AngularDart Components
# version: 1.0.0
# homepage: https://www.example.com
# author: Mattia <[email protected]>

environment:
  sdk: '>=2.0.0-dev.66.0 <2.0.0'

dependencies:
  angular: any
  angular_components: any
  sqljocky: any


dev_dependencies:
  angular_test: any
  build_runner: any
  build_test: any
  build_web_compilers: any
  test: any

раньше это выглядело так:

name: MyDartPage
description: A web app that uses AngularDart Components
# version: 1.0.0
# homepage: https://www.example.com
# author: Mattia <[email protected]>

environment:
  sdk: '>=2.0.0-dev.66.0 <2.0.0'

dependencies:
  angular: ^5.0.0-beta
  angular_components: ^0.9.0-beta
  sqljocky: ^0.14.0

dev_dependencies:
  angular_test: ^2.0.0-beta
  build_runner: ^0.9.0
  build_test: ^0.10.2
  build_web_compilers: ^0.4.0
  test: ^1.0.0

но мне пришлось изменить его из-за этих ошибок:

Поскольку каждая версия build_runner зависит от crypto> = 0.9.2 ‹3.0.0, а crypto> = 0.9.2‹ 2.0.1 зависит от convert ^ 1.0.0, каждая версия build_runner требует convert ^ 1.0.0 или crypto ^ 2.0 .1. И поскольку build_runner> = 0.6.1 зависит от convert ^ 2.0.1, а sqljocky> = 0.7.0 зависит от crypto ^ 0.9.0, build_runner> = 0.6.1 несовместим с sqljocky> = 0.7.0. Итак, поскольку MyDartPage зависит как от sqljocky ^ 0.14.0, так и от build_runner ^ 0.9.0, определение версии не удалось.

Моя версия дротика:

Версия виртуальной машины Dart: 2.0.0-dev.67.0 (Вт 3 июля 18:17:07 2018 +0200) на "windows_x64"

Как исправить обе ошибки?


person Mattia    schedule 13.07.2018    source источник


Ответы (1)


Я решил использовать SQLJocky5, но на Dart 2 мне пришлось сделать PR, чтобы исправить это: https://github.com/dart-db/sqljocky5/pull/10

person Mattia    schedule 23.07.2018