[Flutter] pubspec.yaml

Angela Jeong·2024년 4월 25일

pubspec.yaml 파일

pubspec.yaml은 플러터 개발을 할 때 항상 사용되는 파일이다! (처음엔 어떻게 읽는거지 싶었는데 야믈 파일이라고 한다..😆)

야믈 파일이란 야믈 포멧의 파일을 말하는데, Json이 Json 포멧을 약속한 파일인 것처럼, 야믈이라는 형식을 약속한 파일이라고 생각하면 된다. 가독성이 좋아 다른 언어에서는 API 전송시에도 yaml 파일을 권장한다고 한다.

패키지 의존성 관리, 프로젝트 정의를 하는 파일인데 https://pub.dev/에서 필요한 패키지를 다운로드 받을 때 이 파일에 정의를 해야한다. UI 프레임워크, 상태 관리 라이브러리, HTTP등이 포함된다.

파일은 크게 name, description, publish_to, version, environment, dependencies, dev_dependencies 로 구성되어 있다.

패키지의 이름, 패키지 설명, 버전, Dart SDK 환경 설정, 패키지 의존성, 개발용 의존성 등 패키지와 관련된 정보가 담긴 파일이라고 생각하면 된다.



패키지 추가 & 에셋 추가

pubspec.yaml 파일은 내가 쓰고 싶은 패키지나 에셋을 추가할 때 가장 많이 쓰게 된다.

1. 패키지 추가하기


dependencies에 사용하고 싶은 패키지를 직접 적어도 되고, 간단하게 명령어로도 추가할 수 있다.


패키지에 따라서 dev_dependencies에 추가되는 경우도 있는데 개발 과정에서만 필요한 패키지들이 여기에 해당한다. 즉 개발자가 코드를 작성하고 테스트하는 데 도움이 되지만, 실제 앱의 실행 환경에서는 필요하지 않는 패키지다.

2. 에셋 추가하기

처음 개발을 할 때 에셋을 쓸 때마다 하나씩 추가하다보니 에셋을 찾을 수 없다는 에러가 정말 정말 많이 났다. (부끄러운 나의 과거..)

사실 띄어쓰기, 오타 하나만 있어도 경로를 찾을 수 없기 때문에 오류가 난다😭 에셋에 따라 확장자가 다른 경우도 있어서 오타날 일이 생각보다 많다.

에셋 같은 경우엔 아래 이미지처럼 아예 폴더 자체를 명시해서 폴더 하위에 담기는 에셋은 추가 없이 바로 활용할 수 있도록 하는게 생산성 면에서 훨씬 좋다.



참고) pubspec.lock 파일이란?

  • 프로젝트에서 사용하는 패키지의 버전을 관리하기 위한 파일
  • pubspec.yaml 파일에 명시된 패키지의 정확한 버전 정보를 포함한다.
  • 다른 환경에서 프로젝틀르 실행할 때 패키지 버전 충돌 방지를 위해 필요하다고 한다.
  • 이 파일은 직접 수정하는 용도는 아니며 자동 생성된다.

출처:
https://www.inflearn.com/questions/16184/yaml%ED%8C%8C%EC%9D%BC-%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%EC%9A%94

https://mac-user-guide.tistory.com/211

0개의 댓글