【에러 대응】”The Flutter SDK is installed in a protected folder and may not function correctly”의 대처법

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. 폴더 이동
  2. 환경 변수 변경
  3. 캐시 정보 삭제 (필요에 따라)

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 명령어가
실행될 수 있게 되기를 바랍니다…

제목과 URL을 복사했습니다