본문 바로가기
Coding/Flutter

Flutter 문법 에러 문제

by Tony.B 2021. 6. 4.

 

코드 에러

vscode에서 flutter를 코딩중이던 어느날 갑자기 잘만 적용되던 코드가 위 사진 처럼 틀렸다고 나오기 시작한다.

 

9번째 줄에 아래와 같은 코드에서 key 를 설정 해줘야 한다는 것 같은 에러메세지가 뜬다.

User(this.id, this.pw, this.createTime);

Non-nullable instance field 'key' must be initialized.
Try adding an initializer expression, or add a field initializer in this constructor, or mark it 'late'.

 

firebase_database 패키지도 분명 쓰고는 있는데 위 처럼 뭔가 안쓰고 있다고 나온다.

 

당장 뭔가 되어야 하는 코딩 개초보인 나에게 위 문제를 검색해봐도 뭐가 문제인지 알 수가 없었다..

 

 

여러번의 삽질 끝에 

 

pubspec.ymal 파일에 enviroment가 기본적으로  sdk: ">=2.12.0 <3.0.0" 로 변경되어 생성이 되어있었다.

enviroment를 sdk: ">=2.7.0 <3.0.0" 로 변경해준뒤에야 코드가 적용이 되었다.

 

 

enviroment 변경 후 

조금 찾아보니 Flutter 가 2.0으로 버전 업을 하면서 null safty가 되었다고 하는데,

null safty를 적용하기 위해서는 위에서 나온 sdk: ">=2.7.0 <3.0.0" sdk: ">=2.12.0 <3.0.0" 로 바꿔줘야 된다고 한다.

 

아마 dart가 버전업이 자동으로 되면서 약간 문법적으로 엄격해진게 아닐까 하고 생각한다.