VS Code에서 Flutter를 사용할 때,
“The Flutter SDK is installed in a protected folder and may not function correctly”
라는 메시지가 출력되는 경우가 있었습니다.
그 문제를 여러 가지로 조사하여 해결했으므로, 대처 방법을 소개합니다.
동일한 에러가 발생한 분들께 참고가 되기를 바랍니다.
왜 메시지가 출력되는가?
Flutter를 설치한 폴더가 보호되어 있으며, 특수한 권한이 필요하기 때문입니다.
보통 설치를 하면 “C:\Program Files”에 Flutter 설치 폴더가 생성되지만, “C:\Program Files”는 보호되어 있어 제목의 메시지가 출력됩니다.
대처 방법
대처 방법은 단순히 Flutter의 설치 폴더를 보호되지 않은 폴더로 이동하는 것입니다.
절차는 다음과 같습니다.
- 폴더 이동
- 환경 변수 변경
- 캐시 정보 삭제 (필요에 따라)
1. 폴더 이동
예를 들어, 다음과 같이 Apps 폴더(임의의 폴더 이름)를 생성하여 그곳으로 이동합니다.
“C:\Program Files\flutter” → “C:\Apps\flutter”
2. 환경 변수 변경
다음과 같이 환경 변수를 설정한 경우, 수정을 해야 합니다.
3. 캐시 정보 삭제 (필요에 따라)
위의 대처를 한 후에 “build_runner“를 실행하면 다음과 같은 에러가 발생할 수 있습니다.
Deprecated. Use dart run instead. Could not find a file named "pubspec.yaml" in
"C:\Program Files\flutter\packages\flutter
캐시가 남아 있어, 변경 전의 폴더를 참조하는 상태입니다.
터미널에서 다음 명령어를 실행하면 에러가 해소됩니다.
flutter packages get
그래도 에러가 발생하는 경우
저는 위의 방법으로 해결했지만, 그래도 안 되는 경우가 있는 것 같습니다.
문제로는 “/flutter/.pub-cache” 하위 폴더에 업데이트되지 않은 캐시 파일이 남아 있는 경우입니다.
캐시 파일을 클리어하기 위해 터미널에서 다음 세 가지 명령어를 실행하십시오.
flutter clean
flutter pub get
dart pub get
다시 실행해보기
이상의 대처로 제목의 메시지가 사라지고, “build_runner“ 명령어가
실행될 수 있게 되기를 바랍니다…