반대 상품 둘을 덮는 단어
앞 트랙은 패키지를 거절했어. 이 트랙은 하나를 받아. 그 두 문장이 단어를 같은 뜻으로 쓰면, 트랙 하나가 거짓말하는 거야.
같은 뜻이 아니야. 발행된 패키지는 네가 통제 못 하는 소비자한테 파는 상품이야. 레지스트리에 살고, 버전이 있고, 설치 때 받아오고, 소비자 둘이 다른 버전을 고정하는 게 지원되는 상태야. 그게 격리 상품이야. 가족이 모든 언어에서 거절한 그거고, 지금도 거절하는 그거야.
경로 패키지는 컴파일러 지시야. 내 옆 이 디렉터리를 컴파일 단위로 보라는 뜻. 버전 없어. 발행 단계 없어. 레지스트리 계정 없어. 디렉터리는 가족이 이미 사는 형제 작업 트리야. 해석 비용은 복사본 깔 때랑 같아. 소비자가 이미 가진 매니페스트에 줄 하나. 유지비는 없어.
여기선 격리가 뭘 더했을까
발행 패키지가 물리는 값을 이 가족에 대보면, 여전히 값이지 기능이 아냐. 스위프트 변경마다 발행 단계. 따지고 올려야 하는 버전 번호. 그리고 이제 정당해진 가능성 — 폰 앱 둘이 공용 타입의 다른 리비전을 컴파일하는 것. 마지막이 첫 기록이 짚은 바로 그 날카로운 모서리야. 지원되는 기능이 된 어긋남. 어긋남을 버그로 만들려고 있는 저장소 안에서.
경로 의존은 그 어긋남을 적어 넣을 자리가 없어. 태그가 아니라 트리를 가리키거든. 내일 체크아웃이든 오늘 체크아웃이든 같은 패키지를 봐. 같은 디렉터리니까. 가족이 참고 견디는 한계가 아냐. 사려던 성질이야.
그래도 완결이야
앞 트랙의 척추 원칙이 한순간은 원칙을 꺾은 것처럼 보였어. 소비자가 이제 패키지를 적어. 목록을 읽어. 패키지는 이미 그 기계에 있는 형제 디렉터리의 상대 경로야. 소비자만 따로 받아오면 스위프트 반은 여전히 빌드가 안 돼. 그건 원래 그랬어. 키트 저장소는 이미 형제였고, 없을 때 어긋남 검사는 그냥 건너뛰었거든. 경로 패키지는 네트워크를 안 더했어. 가족 배치가 이미 전제하던 디렉터리에 이름을 붙인 거야.
척추를 부러뜨리는 건 레지스트리야. 태그. 바이트를 나중에 받아올 수 있다는 약속. 그중 아무것도 안 왔어. 다음 레슨은 컴파일러가 왜 단위가 필요했는지고, 이 레슨은 그걸 잘못 부르지 말라는 거뿐이야.