Что вызывает ошибку «Оператор проверки нуля, используемый для нулевого значения» при использовании команды генерации serverpod в Dart в Windows 11?
Команда генерации Serverpod выдает ошибку «Оператор проверки нуля, используемый для нулевого значения».
При использовании генерации serverpod в совершенно новом проекте, в который добавлен только следующий код, я получаю следующую ошибку:
В example_endpoint.dart я добавил это в класс exampleEndpoint:
Future<Article> test(Session session) async{
return Article(
title: 'Test Title',
);
}
Я добавил статью.yaml в папку протокола со следующим содержимым:
class: Article
fields:
title: String
Это результат генерации serverpod:
WARNING! Windows is not officially supported yet. Things may or may not work as expected.
Yikes! It is possible that this error is caused by an internal issue with the Serverpod tooling. We would appreciate if you filed an issue over at Github. Please include the stack trace below and describe any steps you did to trigger the error.
https://github.com/serverpod/serverpod/issues
Null check operator used on a null value
#0 new TypeDefinition.fromDartType (package:serverpod_cli/src/generator/types.dart:75:49)
#1 new TypeDefinition.fromDartType.<anonymous closure> (package:serverpod_cli/src/generator/types.dart:70:56)
#2 MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31)
#3 ListIterator.moveNext (dart:_internal/iterable.dart:344:26)
#4 new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27)
#5 new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
#6 new List.of (dart:core-patch/array_patch.dart:47:28)
#7 ListIterable.toList (dart:_internal/iterable.dart:214:7)
#8 new TypeDefinition.fromDartType (package:serverpod_cli/src/generator/types.dart:70:73)
#9 EndpointsAnalyzer.analyze (package:serverpod_cli/src/analyzer/dart/endpoints_analyzer.dart:168:48)
<asynchronous suspension>
#10 performGenerate (package:serverpod_cli/src/generator/generator.dart:46:19)
<asynchronous suspension>
#11 _main (file:///C:/Users/dschu/AppData/Local/Pub/Cache/hosted/pub.dev/serverpod_cli-1.1.1/bin/serverpod_cli.dart:221:7)
<asynchronous suspension>
#12 main.<anonymous closure> (file:///C:/Users/dschu/AppData/Local/Pub/Cache/hosted/pub.dev/serverpod_cli-1.1.1/bin/serverpod_cli.dart:36:9)
<asynchronous suspension>
#13 main (file:///C:/Users/dschu/AppData/Local/Pub/Cache/hosted/pub.dev/serverpod_cli-1.1.1/bin/serverpod_cli.dart:33:3)
<asynchronous suspension>
Я использую Windows 11, используя версию serverpod 1.1.1.
1 ответ
Решение этой проблемы — добавить строку импорта в начало файла конечной точки. Если ваш файл протокола былarticle.yaml
вам нужно будет добавитьimport '../generated/article.dart';
.
В будущем выпуске serverpod вы получите более подробное сообщение в терминале, как описано в выпуске github.