프로젝트

Flutter dotenv 패키지 관련 오류

TMJeti 2025. 4. 22. 16:47

.env 파일은 API key나 프로젝트 아이디 등 사용자 정보, 민감한 정보를 넣어놓고 그 파일을 필요한 코드단에서 접근하고 읽어내어 안의 값을 꺼내와서 전역변수 처럼 사용할 수 있는 파일이다.

 

이 파일을 읽을수 있도록 해주는 패키지가 dotenv 이다.

위와 같이 instance of 'NotInitializedError'가 떴는데 dotenv 초기화 안 해서 생기는 문제란다.

 

또 FlutterWeb 에서는 .env 파일이 에셋에 등록되어 있어야 정상 로딩이 가능하다.

 

정리

  • .env 파일을 assets 폴더에 넣는다.
  • pubspec.yaml에 등록
    flutter:
      assets:
        - assets/.env
  • await dotenv.load(fileName: 'assets/.env');
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp(
        options: DefaultFirebaseOptions.currentPlatform,
      );
      await dotenv.load(fileName: "assets/.env"); // .env 파일 로드  

      await testGPTConnection(); // ✅ GPT 연결 테스트 실행
      runApp(MyApp());
    }

runApp(MyApp()); 위에 load 시켜주면 된다.