[{"data":1,"prerenderedAt":1680},["ShallowReactive",2],{"page-ko-\u002Fbuild-macos":3},{"id":4,"title":5,"body":6,"description":16,"draft":1672,"extension":1673,"hero":1674,"meta":1675,"navigation":435,"path":1676,"seo":1677,"stem":1678,"tags":1674,"updatedAt":1674,"__hash__":1679},"content_ko\u002Fbuild-macos.md","macOS용 Drop Compress Image 빌드",{"type":7,"value":8,"toc":1626},"minimark",[9,13,17,22,25,38,42,54,76,84,89,92,104,107,115,119,122,126,129,155,159,162,190,197,201,213,217,220,224,254,257,261,273,277,296,304,308,311,315,330,334,353,357,360,364,378,382,394,398,401,405,499,503,506,523,526,690,693,741,744,767,771,774,778,799,803,820,824,847,851,854,871,874,891,895,899,906,951,955,962,1002,1006,1009,1115,1119,1123,1306,1310,1313,1318,1321,1336,1339,1343,1346,1351,1446,1451,1454,1466,1470,1530,1534,1537,1543,1547,1550,1575,1579,1582,1619,1622],[10,11,5],"h1",{"id":12},"macos용-drop-compress-image-빌드",[14,15,16],"p",{},"이 가이드는 macOS 시스템에서 개발 환경을 설정하고 Drop Compress Image를 빌드하는 과정을 안내합니다.",[18,19,21],"h2",{"id":20},"사전-요구사항","사전 요구사항",[14,23,24],{},"시작하기 전에 다음이 필요합니다:",[26,27,28,32,35],"ul",{},[29,30,31],"li",{},"macOS 10.15 (Catalina) 이상",[29,33,34],{},"소프트웨어 설치를 위한 관리자 권한",[29,36,37],{},"터미널 명령어에 대한 기본적인 지식",[18,39,41],{"id":40},"단계-1-xcode-command-line-tools-설치","단계 1: Xcode Command Line Tools 설치",[14,43,44,45,49,50,53],{},"먼저 ",[46,47,48],"code",{},"clang","과 ",[46,51,52],{},"make","를 포함한 필수 개발 도구를 제공하는 Xcode Command Line Tools를 설치합니다:",[55,56,61],"pre",{"className":57,"code":58,"language":59,"meta":60,"style":60},"language-bash shiki shiki-themes github-light github-dark","xcode-select --install\n","bash","",[46,62,63],{"__ignoreMap":60},[64,65,68,72],"span",{"class":66,"line":67},"line",1,[64,69,71],{"class":70},"sScJk","xcode-select",[64,73,75],{"class":74},"sj4cs"," --install\n",[14,77,78,79,83],{},"이렇게 하면 명령줄 개발자 도구를 설치할지 묻는 대화 상자가 열립니다. ",[80,81,82],"strong",{},"설치","를 클릭하고 설치가 완료될 때까지 기다리세요.",[85,86,88],"h3",{"id":87},"설치-확인","설치 확인",[14,90,91],{},"도구가 올바르게 설치되었는지 확인하세요:",[55,93,95],{"className":57,"code":94,"language":59,"meta":60,"style":60},"clang --version\n",[46,96,97],{"__ignoreMap":60},[64,98,99,101],{"class":66,"line":67},[64,100,48],{"class":70},[64,102,103],{"class":74}," --version\n",[14,105,106],{},"다음과 같은 출력이 표시되어야 합니다:",[55,108,113],{"className":109,"code":111,"language":112,"meta":60},[110],"language-text","Apple clang version 15.0.0 (clang-1500.0.40.1)\nTarget: arm64-apple-darwin23.0.0\nThread model: posix\n","text",[46,114,111],{"__ignoreMap":60},[18,116,118],{"id":117},"단계-2-homebrew-설치","단계 2: Homebrew 설치",[14,120,121],{},"Homebrew는 개발 도구와 라이브러리 설치를 쉽게 해주는 macOS용 패키지 관리자입니다.",[85,123,125],{"id":124},"homebrew-설치","Homebrew 설치",[14,127,128],{},"터미널을 열고 실행하세요:",[55,130,132],{"className":57,"code":131,"language":59,"meta":60,"style":60},"\u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh)\"\n",[46,133,134],{"__ignoreMap":60},[64,135,136,139,142,146,149,152],{"class":66,"line":67},[64,137,138],{"class":70},"\u002Fbin\u002Fbash",[64,140,141],{"class":74}," -c",[64,143,145],{"class":144},"sZZnC"," \"$(",[64,147,148],{"class":70},"curl",[64,150,151],{"class":74}," -fsSL",[64,153,154],{"class":144}," https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh)\"\n",[85,156,158],{"id":157},"path에-homebrew-추가","PATH에 Homebrew 추가",[14,160,161],{},"Apple Silicon Mac (M1\u002FM2\u002FM3)의 경우, PATH에 Homebrew를 추가하세요:",[55,163,165],{"className":57,"code":164,"language":59,"meta":60,"style":60},"echo 'eval \"$(\u002Fopt\u002Fhomebrew\u002Fbin\u002Fbrew shellenv)\"' >> ~\u002F.zshrc\nsource ~\u002F.zshrc\n",[46,166,167,182],{"__ignoreMap":60},[64,168,169,172,175,179],{"class":66,"line":67},[64,170,171],{"class":74},"echo",[64,173,174],{"class":144}," 'eval \"$(\u002Fopt\u002Fhomebrew\u002Fbin\u002Fbrew shellenv)\"'",[64,176,178],{"class":177},"szBVR"," >>",[64,180,181],{"class":144}," ~\u002F.zshrc\n",[64,183,185,188],{"class":66,"line":184},2,[64,186,187],{"class":74},"source",[64,189,181],{"class":144},[14,191,192,193,196],{},"Intel Mac의 경우, Homebrew는 ",[46,194,195],{},"\u002Fusr\u002Flocal","에 설치되어 이미 PATH에 포함되어 있어야 합니다.",[85,198,200],{"id":199},"homebrew-설치-확인","Homebrew 설치 확인",[55,202,204],{"className":57,"code":203,"language":59,"meta":60,"style":60},"brew --version\n",[46,205,206],{"__ignoreMap":60},[64,207,208,211],{"class":66,"line":67},[64,209,210],{"class":70},"brew",[64,212,103],{"class":74},[18,214,216],{"id":215},"단계-3-rust-설치","단계 3: Rust 설치",[14,218,219],{},"Drop Compress Image는 Rust로 빌드되므로 Rust 툴체인을 설치해야 합니다.",[85,221,223],{"id":222},"rustup을-통한-rust-설치","rustup을 통한 Rust 설치",[55,225,227],{"className":57,"code":226,"language":59,"meta":60,"style":60},"curl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\n",[46,228,229],{"__ignoreMap":60},[64,230,231,233,236,239,242,245,248,251],{"class":66,"line":67},[64,232,148],{"class":70},[64,234,235],{"class":74}," --proto",[64,237,238],{"class":144}," '=https'",[64,240,241],{"class":74}," --tlsv1.2",[64,243,244],{"class":74}," -sSf",[64,246,247],{"class":144}," https:\u002F\u002Fsh.rustup.rs",[64,249,250],{"class":177}," |",[64,252,253],{"class":70}," sh\n",[14,255,256],{},"프롬프트가 표시되면 옵션 1 (기본 설치)을 선택하세요.",[85,258,260],{"id":259},"셸-구성","셸 구성",[55,262,264],{"className":57,"code":263,"language":59,"meta":60,"style":60},"source ~\u002F.cargo\u002Fenv\n",[46,265,266],{"__ignoreMap":60},[64,267,268,270],{"class":66,"line":67},[64,269,187],{"class":74},[64,271,272],{"class":144}," ~\u002F.cargo\u002Fenv\n",[85,274,276],{"id":275},"rust-설치-확인","Rust 설치 확인",[55,278,280],{"className":57,"code":279,"language":59,"meta":60,"style":60},"rustc --version\ncargo --version\n",[46,281,282,289],{"__ignoreMap":60},[64,283,284,287],{"class":66,"line":67},[64,285,286],{"class":70},"rustc",[64,288,103],{"class":74},[64,290,291,294],{"class":66,"line":184},[64,292,293],{"class":70},"cargo",[64,295,103],{"class":74},[14,297,298,300,301,303],{},[46,299,286],{},"와 ",[46,302,293],{}," 모두에 대한 버전 정보가 표시되어야 합니다.",[18,305,307],{"id":306},"단계-4-nodejs-설치","단계 4: Node.js 설치",[14,309,310],{},"Drop Compress Image의 프론트엔드는 Vue.js로 빌드되어 Node.js가 필요합니다.",[85,312,314],{"id":313},"homebrew를-통한-nodejs-설치","Homebrew를 통한 Node.js 설치",[55,316,318],{"className":57,"code":317,"language":59,"meta":60,"style":60},"brew install node\n",[46,319,320],{"__ignoreMap":60},[64,321,322,324,327],{"class":66,"line":67},[64,323,210],{"class":70},[64,325,326],{"class":144}," install",[64,328,329],{"class":144}," node\n",[85,331,333],{"id":332},"nodejs-설치-확인","Node.js 설치 확인",[55,335,337],{"className":57,"code":336,"language":59,"meta":60,"style":60},"node --version\nnpm --version\n",[46,338,339,346],{"__ignoreMap":60},[64,340,341,344],{"class":66,"line":67},[64,342,343],{"class":70},"node",[64,345,103],{"class":74},[64,347,348,351],{"class":66,"line":184},[64,349,350],{"class":70},"npm",[64,352,103],{"class":74},[18,354,356],{"id":355},"단계-5-pnpm-설치","단계 5: pnpm 설치",[14,358,359],{},"Drop Compress Image는 성능과 디스크 효율성을 위해 pnpm을 패키지 관리자로 사용합니다.",[85,361,363],{"id":362},"pnpm-설치","pnpm 설치",[55,365,367],{"className":57,"code":366,"language":59,"meta":60,"style":60},"brew install pnpm\n",[46,368,369],{"__ignoreMap":60},[64,370,371,373,375],{"class":66,"line":67},[64,372,210],{"class":70},[64,374,326],{"class":144},[64,376,377],{"class":144}," pnpm\n",[85,379,381],{"id":380},"pnpm-설치-확인","pnpm 설치 확인",[55,383,385],{"className":57,"code":384,"language":59,"meta":60,"style":60},"pnpm --version\n",[46,386,387],{"__ignoreMap":60},[64,388,389,392],{"class":66,"line":67},[64,390,391],{"class":70},"pnpm",[64,393,103],{"class":74},[18,395,397],{"id":396},"단계-6-vcpkg-설정-및-종속성-설치","단계 6: vcpkg 설정 및 종속성 설치",[14,399,400],{},"이 프로젝트는 vcpkg를 사용하여 C\u002FC++ 이미지 처리 라이브러리(libaom, libavif, libjxl 등)를 관리합니다.",[85,402,404],{"id":403},"vcpkg-설치","vcpkg 설치",[55,406,408],{"className":57,"code":407,"language":59,"meta":60,"style":60},"# vcpkg 복제\ngit clone https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fvcpkg.git ~\u002FDeveloper\u002Fvcpkg\n\n# vcpkg 부트스트랩\ncd ~\u002FDeveloper\u002Fvcpkg\n.\u002Fbootstrap-vcpkg.sh\n\n# 환경 변수 설정(~\u002F.zshrc에 추가)\necho 'export VCPKG_ROOT=\"$HOME\u002FDeveloper\u002Fvcpkg\"' >> ~\u002F.zshrc\necho 'export PATH=\"$VCPKG_ROOT:$PATH\"' >> ~\u002F.zshrc\nsource ~\u002F.zshrc\n",[46,409,410,416,430,437,443,451,457,462,468,480,492],{"__ignoreMap":60},[64,411,412],{"class":66,"line":67},[64,413,415],{"class":414},"sJ8bj","# vcpkg 복제\n",[64,417,418,421,424,427],{"class":66,"line":184},[64,419,420],{"class":70},"git",[64,422,423],{"class":144}," clone",[64,425,426],{"class":144}," https:\u002F\u002Fgithub.com\u002FMicrosoft\u002Fvcpkg.git",[64,428,429],{"class":144}," ~\u002FDeveloper\u002Fvcpkg\n",[64,431,433],{"class":66,"line":432},3,[64,434,436],{"emptyLinePlaceholder":435},true,"\n",[64,438,440],{"class":66,"line":439},4,[64,441,442],{"class":414},"# vcpkg 부트스트랩\n",[64,444,446,449],{"class":66,"line":445},5,[64,447,448],{"class":74},"cd",[64,450,429],{"class":144},[64,452,454],{"class":66,"line":453},6,[64,455,456],{"class":70},".\u002Fbootstrap-vcpkg.sh\n",[64,458,460],{"class":66,"line":459},7,[64,461,436],{"emptyLinePlaceholder":435},[64,463,465],{"class":66,"line":464},8,[64,466,467],{"class":414},"# 환경 변수 설정(~\u002F.zshrc에 추가)\n",[64,469,471,473,476,478],{"class":66,"line":470},9,[64,472,171],{"class":74},[64,474,475],{"class":144}," 'export VCPKG_ROOT=\"$HOME\u002FDeveloper\u002Fvcpkg\"'",[64,477,178],{"class":177},[64,479,181],{"class":144},[64,481,483,485,488,490],{"class":66,"line":482},10,[64,484,171],{"class":74},[64,486,487],{"class":144}," 'export PATH=\"$VCPKG_ROOT:$PATH\"'",[64,489,178],{"class":177},[64,491,181],{"class":144},[64,493,495,497],{"class":66,"line":494},11,[64,496,187],{"class":74},[64,498,181],{"class":144},[85,500,502],{"id":501},"종속성-설치","종속성 설치",[14,504,505],{},"자동 설치 스크립트 사용(권장):",[55,507,509],{"className":57,"code":508,"language":59,"meta":60,"style":60},"cd ~\u002Fpath\u002Fto\u002FDropWebP\u002Fapp\u002Fsrc-tauri\n.\u002Fsetup-vcpkg.sh\n",[46,510,511,518],{"__ignoreMap":60},[64,512,513,515],{"class":66,"line":67},[64,514,448],{"class":74},[64,516,517],{"class":144}," ~\u002Fpath\u002Fto\u002FDropWebP\u002Fapp\u002Fsrc-tauri\n",[64,519,520],{"class":66,"line":184},[64,521,522],{"class":70},".\u002Fsetup-vcpkg.sh\n",[14,524,525],{},"또는 수동으로 설치:",[55,527,529],{"className":57,"code":528,"language":59,"meta":60,"style":60},"cd ~\u002FDeveloper\u002Fvcpkg\n\n# Apple Silicon (M1\u002FM2\u002FM3)의 경우\n.\u002Fvcpkg install aom:arm64-osx\n.\u002Fvcpkg install libavif[aom]:arm64-osx\n.\u002Fvcpkg install libjxl:arm64-osx\n.\u002Fvcpkg install libwebp:arm64-osx\n.\u002Fvcpkg install openjpeg:arm64-osx\n.\u002Fvcpkg install libjpeg-turbo:arm64-osx\n.\u002Fvcpkg install lcms:arm64-osx\n\n# Intel Mac의 경우\n.\u002Fvcpkg install aom:x64-osx\n.\u002Fvcpkg install libavif[aom]:x64-osx\n.\u002Fvcpkg install libjxl:x64-osx\n.\u002Fvcpkg install libwebp:x64-osx\n.\u002Fvcpkg install openjpeg:x64-osx\n.\u002Fvcpkg install libjpeg-turbo:x64-osx\n.\u002Fvcpkg install lcms:x64-osx\n",[46,530,531,537,541,546,556,565,574,583,592,601,610,614,620,630,640,650,660,670,680],{"__ignoreMap":60},[64,532,533,535],{"class":66,"line":67},[64,534,448],{"class":74},[64,536,429],{"class":144},[64,538,539],{"class":66,"line":184},[64,540,436],{"emptyLinePlaceholder":435},[64,542,543],{"class":66,"line":432},[64,544,545],{"class":414},"# Apple Silicon (M1\u002FM2\u002FM3)의 경우\n",[64,547,548,551,553],{"class":66,"line":439},[64,549,550],{"class":70},".\u002Fvcpkg",[64,552,326],{"class":144},[64,554,555],{"class":144}," aom:arm64-osx\n",[64,557,558,560,562],{"class":66,"line":445},[64,559,550],{"class":70},[64,561,326],{"class":144},[64,563,564],{"class":144}," libavif[aom]:arm64-osx\n",[64,566,567,569,571],{"class":66,"line":453},[64,568,550],{"class":70},[64,570,326],{"class":144},[64,572,573],{"class":144}," libjxl:arm64-osx\n",[64,575,576,578,580],{"class":66,"line":459},[64,577,550],{"class":70},[64,579,326],{"class":144},[64,581,582],{"class":144}," libwebp:arm64-osx\n",[64,584,585,587,589],{"class":66,"line":464},[64,586,550],{"class":70},[64,588,326],{"class":144},[64,590,591],{"class":144}," openjpeg:arm64-osx\n",[64,593,594,596,598],{"class":66,"line":470},[64,595,550],{"class":70},[64,597,326],{"class":144},[64,599,600],{"class":144}," libjpeg-turbo:arm64-osx\n",[64,602,603,605,607],{"class":66,"line":482},[64,604,550],{"class":70},[64,606,326],{"class":144},[64,608,609],{"class":144}," lcms:arm64-osx\n",[64,611,612],{"class":66,"line":494},[64,613,436],{"emptyLinePlaceholder":435},[64,615,617],{"class":66,"line":616},12,[64,618,619],{"class":414},"# Intel Mac의 경우\n",[64,621,623,625,627],{"class":66,"line":622},13,[64,624,550],{"class":70},[64,626,326],{"class":144},[64,628,629],{"class":144}," aom:x64-osx\n",[64,631,633,635,637],{"class":66,"line":632},14,[64,634,550],{"class":70},[64,636,326],{"class":144},[64,638,639],{"class":144}," libavif[aom]:x64-osx\n",[64,641,643,645,647],{"class":66,"line":642},15,[64,644,550],{"class":70},[64,646,326],{"class":144},[64,648,649],{"class":144}," libjxl:x64-osx\n",[64,651,653,655,657],{"class":66,"line":652},16,[64,654,550],{"class":70},[64,656,326],{"class":144},[64,658,659],{"class":144}," libwebp:x64-osx\n",[64,661,663,665,667],{"class":66,"line":662},17,[64,664,550],{"class":70},[64,666,326],{"class":144},[64,668,669],{"class":144}," openjpeg:x64-osx\n",[64,671,673,675,677],{"class":66,"line":672},18,[64,674,550],{"class":70},[64,676,326],{"class":144},[64,678,679],{"class":144}," libjpeg-turbo:x64-osx\n",[64,681,683,685,687],{"class":66,"line":682},19,[64,684,550],{"class":70},[64,686,326],{"class":144},[64,688,689],{"class":144}," lcms:x64-osx\n",[14,691,692],{},"설치된 라이브러리:",[26,694,695,705,711,717,723,729,735],{},[29,696,697,700,701,704],{},[80,698,699],{},"libaom",": AV1 인코더(AVIF 형식용, ",[80,702,703],{},"필수",")",[29,706,707,710],{},[80,708,709],{},"libavif",": AVIF 이미지 형식",[29,712,713,716],{},[80,714,715],{},"libjxl",": JPEG XL 이미지 형식",[29,718,719,722],{},[80,720,721],{},"libwebp",": WebP 이미지 형식",[29,724,725,728],{},[80,726,727],{},"openjpeg",": JPEG 2000 이미지 형식",[29,730,731,734],{},[80,732,733],{},"libjpeg-turbo",": JPEG 이미지 처리(jpegli용)",[29,736,737,740],{},[80,738,739],{},"lcms",": Little CMS 색상 관리",[85,742,88],{"id":743},"설치-확인-1",[55,745,747],{"className":57,"code":746,"language":59,"meta":60,"style":60},".\u002Fvcpkg list | grep -E \"aom|avif|jxl|webp|openjpeg|jpeg|lcms\"\n",[46,748,749],{"__ignoreMap":60},[64,750,751,753,756,758,761,764],{"class":66,"line":67},[64,752,550],{"class":70},[64,754,755],{"class":144}," list",[64,757,250],{"class":177},[64,759,760],{"class":70}," grep",[64,762,763],{"class":74}," -E",[64,765,766],{"class":144}," \"aom|avif|jxl|webp|openjpeg|jpeg|lcms\"\n",[18,768,770],{"id":769},"단계-7-drop-compress-image-복제-및-빌드","단계 7: Drop Compress Image 복제 및 빌드",[14,772,773],{},"이제 Drop Compress Image를 복제하고 빌드할 준비가 되었습니다.",[85,775,777],{"id":776},"리포지토리-복제","리포지토리 복제",[55,779,781],{"className":57,"code":780,"language":59,"meta":60,"style":60},"git clone https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP.git\ncd DropWebP\n",[46,782,783,792],{"__ignoreMap":60},[64,784,785,787,789],{"class":66,"line":67},[64,786,420],{"class":70},[64,788,423],{"class":144},[64,790,791],{"class":144}," https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP.git\n",[64,793,794,796],{"class":66,"line":184},[64,795,448],{"class":74},[64,797,798],{"class":144}," DropWebP\n",[85,800,802],{"id":801},"프론트엔드-종속성-설치","프론트엔드 종속성 설치",[55,804,806],{"className":57,"code":805,"language":59,"meta":60,"style":60},"# 모든 워크스페이스 종속성 설치\npnpm install\n",[46,807,808,813],{"__ignoreMap":60},[64,809,810],{"class":66,"line":67},[64,811,812],{"class":414},"# 모든 워크스페이스 종속성 설치\n",[64,814,815,817],{"class":66,"line":184},[64,816,391],{"class":70},[64,818,819],{"class":144}," install\n",[85,821,823],{"id":822},"tauri-cli-v2-설치","Tauri CLI v2 설치",[55,825,827],{"className":57,"code":826,"language":59,"meta":60,"style":60},"# Tauri CLI v2를 전역으로 설치\npnpm add -g @tauri-apps\u002Fcli@next\n",[46,828,829,834],{"__ignoreMap":60},[64,830,831],{"class":66,"line":67},[64,832,833],{"class":414},"# Tauri CLI v2를 전역으로 설치\n",[64,835,836,838,841,844],{"class":66,"line":184},[64,837,391],{"class":70},[64,839,840],{"class":144}," add",[64,842,843],{"class":74}," -g",[64,845,846],{"class":144}," @tauri-apps\u002Fcli@next\n",[85,848,850],{"id":849},"애플리케이션-빌드","애플리케이션 빌드",[14,852,853],{},"개발용:",[55,855,857],{"className":57,"code":856,"language":59,"meta":60,"style":60},"# 개발 모드로 실행\npnpm dev:tauri\n",[46,858,859,864],{"__ignoreMap":60},[64,860,861],{"class":66,"line":67},[64,862,863],{"class":414},"# 개발 모드로 실행\n",[64,865,866,868],{"class":66,"line":184},[64,867,391],{"class":70},[64,869,870],{"class":144}," dev:tauri\n",[14,872,873],{},"프로덕션용:",[55,875,877],{"className":57,"code":876,"language":59,"meta":60,"style":60},"# 프로덕션용 빌드\npnpm build:tauri\n",[46,878,879,884],{"__ignoreMap":60},[64,880,881],{"class":66,"line":67},[64,882,883],{"class":414},"# 프로덕션용 빌드\n",[64,885,886,888],{"class":66,"line":184},[64,887,391],{"class":70},[64,889,890],{"class":144}," build:tauri\n",[18,892,894],{"id":893},"단계-8-플랫폼별-고려사항","단계 8: 플랫폼별 고려사항",[85,896,898],{"id":897},"apple-silicon-m1m2m3-mac","Apple Silicon (M1\u002FM2\u002FM3) Mac",[14,900,901,902,905],{},"Apple Silicon Mac을 사용하는 경우, 일부 종속성은 ",[46,903,904],{},"arm64"," 아키텍처용으로 특별히 컴파일되어야 할 수 있습니다. 최신 패키지들은 이를 자동으로 처리하지만, 문제가 발생하면:",[55,907,909],{"className":57,"code":908,"language":59,"meta":60,"style":60},"# 아키텍처 확인\nuname -m\n# 출력: arm64\n\n# 필요한 경우, Rust가 올바른 타겟용으로 빌드하도록 강제할 수 있습니다\nrustup target add aarch64-apple-darwin\n",[46,910,911,916,924,929,933,938],{"__ignoreMap":60},[64,912,913],{"class":66,"line":67},[64,914,915],{"class":414},"# 아키텍처 확인\n",[64,917,918,921],{"class":66,"line":184},[64,919,920],{"class":70},"uname",[64,922,923],{"class":74}," -m\n",[64,925,926],{"class":66,"line":432},[64,927,928],{"class":414},"# 출력: arm64\n",[64,930,931],{"class":66,"line":439},[64,932,436],{"emptyLinePlaceholder":435},[64,934,935],{"class":66,"line":445},[64,936,937],{"class":414},"# 필요한 경우, Rust가 올바른 타겟용으로 빌드하도록 강제할 수 있습니다\n",[64,939,940,943,946,948],{"class":66,"line":453},[64,941,942],{"class":70},"rustup",[64,944,945],{"class":144}," target",[64,947,840],{"class":144},[64,949,950],{"class":144}," aarch64-apple-darwin\n",[85,952,954],{"id":953},"intel-mac","Intel Mac",[14,956,957,958,961],{},"Intel Mac의 경우, 기본 ",[46,959,960],{},"x86_64"," 타겟이 문제없이 작동해야 합니다:",[55,963,965],{"className":57,"code":964,"language":59,"meta":60,"style":60},"# 아키텍처 확인\nuname -m\n# 출력: x86_64\n\n# 올바른 Rust 타겟이 설치되었는지 확인\nrustup target add x86_64-apple-darwin\n",[46,966,967,971,977,982,986,991],{"__ignoreMap":60},[64,968,969],{"class":66,"line":67},[64,970,915],{"class":414},[64,972,973,975],{"class":66,"line":184},[64,974,920],{"class":70},[64,976,923],{"class":74},[64,978,979],{"class":66,"line":432},[64,980,981],{"class":414},"# 출력: x86_64\n",[64,983,984],{"class":66,"line":439},[64,985,436],{"emptyLinePlaceholder":435},[64,987,988],{"class":66,"line":445},[64,989,990],{"class":414},"# 올바른 Rust 타겟이 설치되었는지 확인\n",[64,992,993,995,997,999],{"class":66,"line":453},[64,994,942],{"class":70},[64,996,945],{"class":144},[64,998,840],{"class":144},[64,1000,1001],{"class":144}," x86_64-apple-darwin\n",[85,1003,1005],{"id":1004},"코드-서명-선택사항","코드 서명 (선택사항)",[14,1007,1008],{},"빌드된 애플리케이션을 배포하려면 Apple Developer 인증서로 서명해야 합니다:",[55,1010,1012],{"className":57,"code":1011,"language":59,"meta":60,"style":60},"# 사용 가능한 서명 신원 확인\nsecurity find-identity -v -p codesigning\n\n# 개발자 인증서가 있다면, Tauri가 자동으로 서명할 수 있습니다\n# tauri.conf.json에 다음을 추가하세요:\n{\n  \"bundle\": {\n    \"macOS\": {\n      \"signing\": {\n        \"identity\": \"Developer ID Application: Your Name (TEAM_ID)\"\n      }\n    }\n  }\n}\n",[46,1013,1014,1019,1036,1040,1045,1050,1056,1067,1076,1085,1095,1100,1105,1110],{"__ignoreMap":60},[64,1015,1016],{"class":66,"line":67},[64,1017,1018],{"class":414},"# 사용 가능한 서명 신원 확인\n",[64,1020,1021,1024,1027,1030,1033],{"class":66,"line":184},[64,1022,1023],{"class":70},"security",[64,1025,1026],{"class":144}," find-identity",[64,1028,1029],{"class":74}," -v",[64,1031,1032],{"class":74}," -p",[64,1034,1035],{"class":144}," codesigning\n",[64,1037,1038],{"class":66,"line":432},[64,1039,436],{"emptyLinePlaceholder":435},[64,1041,1042],{"class":66,"line":439},[64,1043,1044],{"class":414},"# 개발자 인증서가 있다면, Tauri가 자동으로 서명할 수 있습니다\n",[64,1046,1047],{"class":66,"line":445},[64,1048,1049],{"class":414},"# tauri.conf.json에 다음을 추가하세요:\n",[64,1051,1052],{"class":66,"line":453},[64,1053,1055],{"class":1054},"sVt8B","{\n",[64,1057,1058,1061,1064],{"class":66,"line":459},[64,1059,1060],{"class":70},"  \"bundle\"",[64,1062,1063],{"class":74},":",[64,1065,1066],{"class":144}," {\n",[64,1068,1069,1072,1074],{"class":66,"line":464},[64,1070,1071],{"class":70},"    \"macOS\"",[64,1073,1063],{"class":74},[64,1075,1066],{"class":144},[64,1077,1078,1081,1083],{"class":66,"line":470},[64,1079,1080],{"class":70},"      \"signing\"",[64,1082,1063],{"class":74},[64,1084,1066],{"class":144},[64,1086,1087,1090,1092],{"class":66,"line":482},[64,1088,1089],{"class":70},"        \"identity\"",[64,1091,1063],{"class":74},[64,1093,1094],{"class":144}," \"Developer ID Application: Your Name (TEAM_ID)\"\n",[64,1096,1097],{"class":66,"line":494},[64,1098,1099],{"class":1054},"      }\n",[64,1101,1102],{"class":66,"line":616},[64,1103,1104],{"class":1054},"    }\n",[64,1106,1107],{"class":66,"line":622},[64,1108,1109],{"class":1054},"  }\n",[64,1111,1112],{"class":66,"line":632},[64,1113,1114],{"class":1054},"}\n",[18,1116,1118],{"id":1117},"문제-해결","문제 해결",[85,1120,1122],{"id":1121},"일반적인-문제","일반적인 문제",[1124,1125,1126,1164,1190,1243],"ol",{},[29,1127,1128,1131],{},[80,1129,1130],{},"권한 거부 오류",[55,1132,1134],{"className":57,"code":1133,"language":59,"meta":60,"style":60},"# Homebrew 권한 수정\nsudo chown -R $(whoami) \u002Fopt\u002Fhomebrew\n",[46,1135,1136,1141],{"__ignoreMap":60},[64,1137,1138],{"class":66,"line":67},[64,1139,1140],{"class":414},"# Homebrew 권한 수정\n",[64,1142,1143,1146,1149,1152,1155,1158,1161],{"class":66,"line":184},[64,1144,1145],{"class":70},"sudo",[64,1147,1148],{"class":144}," chown",[64,1150,1151],{"class":74}," -R",[64,1153,1154],{"class":1054}," $(",[64,1156,1157],{"class":70},"whoami",[64,1159,1160],{"class":1054},") ",[64,1162,1163],{"class":144},"\u002Fopt\u002Fhomebrew\n",[29,1165,1166,1169],{},[80,1167,1168],{},"설치 후 명령어를 찾을 수 없음",[55,1170,1172],{"className":57,"code":1171,"language":59,"meta":60,"style":60},"# 셸 프로파일 다시 로드\nsource ~\u002F.zshrc\n# 또는 터미널 재시작\n",[46,1173,1174,1179,1185],{"__ignoreMap":60},[64,1175,1176],{"class":66,"line":67},[64,1177,1178],{"class":414},"# 셸 프로파일 다시 로드\n",[64,1180,1181,1183],{"class":66,"line":184},[64,1182,187],{"class":74},[64,1184,181],{"class":144},[64,1186,1187],{"class":66,"line":432},[64,1188,1189],{"class":414},"# 또는 터미널 재시작\n",[29,1191,1192,1195],{},[80,1193,1194],{},"네이티브 종속성으로 인한 빌드 실패",[55,1196,1198],{"className":57,"code":1197,"language":59,"meta":60,"style":60},"# 빌드 캐시 정리\ncargo clean\npnpm clean\n\n# 모든 것을 다시 빌드\npnpm install\npnpm tauri build\n",[46,1199,1200,1205,1212,1218,1222,1227,1233],{"__ignoreMap":60},[64,1201,1202],{"class":66,"line":67},[64,1203,1204],{"class":414},"# 빌드 캐시 정리\n",[64,1206,1207,1209],{"class":66,"line":184},[64,1208,293],{"class":70},[64,1210,1211],{"class":144}," clean\n",[64,1213,1214,1216],{"class":66,"line":432},[64,1215,391],{"class":70},[64,1217,1211],{"class":144},[64,1219,1220],{"class":66,"line":439},[64,1221,436],{"emptyLinePlaceholder":435},[64,1223,1224],{"class":66,"line":445},[64,1225,1226],{"class":414},"# 모든 것을 다시 빌드\n",[64,1228,1229,1231],{"class":66,"line":453},[64,1230,391],{"class":70},[64,1232,819],{"class":144},[64,1234,1235,1237,1240],{"class":66,"line":459},[64,1236,391],{"class":70},[64,1238,1239],{"class":144}," tauri",[64,1241,1242],{"class":144}," build\n",[29,1244,1245,1248],{},[80,1246,1247],{},"Rust 타겟 문제",[55,1249,1251],{"className":57,"code":1250,"language":59,"meta":60,"style":60},"# 설치된 타겟 나열\nrustup target list --installed\n\n# 시스템에 맞는 올바른 타겟 추가\nrustup target add aarch64-apple-darwin  # Apple Silicon\nrustup target add x86_64-apple-darwin   # Intel\n",[46,1252,1253,1258,1269,1273,1278,1292],{"__ignoreMap":60},[64,1254,1255],{"class":66,"line":67},[64,1256,1257],{"class":414},"# 설치된 타겟 나열\n",[64,1259,1260,1262,1264,1266],{"class":66,"line":184},[64,1261,942],{"class":70},[64,1263,945],{"class":144},[64,1265,755],{"class":144},[64,1267,1268],{"class":74}," --installed\n",[64,1270,1271],{"class":66,"line":432},[64,1272,436],{"emptyLinePlaceholder":435},[64,1274,1275],{"class":66,"line":439},[64,1276,1277],{"class":414},"# 시스템에 맞는 올바른 타겟 추가\n",[64,1279,1280,1282,1284,1286,1289],{"class":66,"line":445},[64,1281,942],{"class":70},[64,1283,945],{"class":144},[64,1285,840],{"class":144},[64,1287,1288],{"class":144}," aarch64-apple-darwin",[64,1290,1291],{"class":414},"  # Apple Silicon\n",[64,1293,1294,1296,1298,1300,1303],{"class":66,"line":453},[64,1295,942],{"class":70},[64,1297,945],{"class":144},[64,1299,840],{"class":144},[64,1301,1302],{"class":144}," x86_64-apple-darwin",[64,1304,1305],{"class":414},"   # Intel\n",[85,1307,1309],{"id":1308},"intel-mac용-빌드","Intel Mac용 빌드",[14,1311,1312],{},"Apple Silicon Mac에서 Intel Mac용 바이너리를 빌드하거나 Intel Mac에서 빌드할 수 있습니다.",[1314,1315,1317],"h4",{"id":1316},"방법-1-universal-binary-권장","방법 1: Universal Binary (권장)",[14,1319,1320],{},"가장 간단한 방법은 ARM64와 x86_64 바이너리를 모두 포함하는 Universal Binary를 빌드하는 것입니다:",[55,1322,1324],{"className":57,"code":1323,"language":59,"meta":60,"style":60},"pnpm run build:tauri:mac-universal\n",[46,1325,1326],{"__ignoreMap":60},[64,1327,1328,1330,1333],{"class":66,"line":67},[64,1329,391],{"class":70},[64,1331,1332],{"class":144}," run",[64,1334,1335],{"class":144}," build:tauri:mac-universal\n",[14,1337,1338],{},"이 방법은 추가 라이브러리 설치가 필요하지 않으며 모든 Mac에서 실행되는 단일 바이너리를 생성합니다.",[1314,1340,1342],{"id":1341},"방법-2-intel-전용-빌드","방법 2: Intel 전용 빌드",[14,1344,1345],{},"Intel 전용 바이너리만 필요한 경우:",[14,1347,1348],{},[80,1349,1350],{},"Apple Silicon Mac에서 크로스 컴파일:",[1124,1352,1353,1429],{},[29,1354,1355,1356,1413,1416,1417],{},"x86_64 Homebrew 및 필수 라이브러리 설치:",[55,1357,1359],{"className":57,"code":1358,"language":59,"meta":60,"style":60},"# x86_64 Homebrew가 설치되어 있지 않은 경우\narch -x86_64 \u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh)\"\n\n# x86_64 라이브러리 설치\narch -x86_64 \u002Fusr\u002Flocal\u002Fbin\u002Fbrew install libavif jpeg-xl\n",[46,1360,1361,1366,1387,1391,1396],{"__ignoreMap":60},[64,1362,1363],{"class":66,"line":67},[64,1364,1365],{"class":414},"# x86_64 Homebrew가 설치되어 있지 않은 경우\n",[64,1367,1368,1371,1374,1377,1379,1381,1383,1385],{"class":66,"line":184},[64,1369,1370],{"class":70},"arch",[64,1372,1373],{"class":74}," -x86_64",[64,1375,1376],{"class":144}," \u002Fbin\u002Fbash",[64,1378,141],{"class":74},[64,1380,145],{"class":144},[64,1382,148],{"class":70},[64,1384,151],{"class":74},[64,1386,154],{"class":144},[64,1388,1389],{"class":66,"line":432},[64,1390,436],{"emptyLinePlaceholder":435},[64,1392,1393],{"class":66,"line":439},[64,1394,1395],{"class":414},"# x86_64 라이브러리 설치\n",[64,1397,1398,1400,1402,1405,1407,1410],{"class":66,"line":445},[64,1399,1370],{"class":70},[64,1401,1373],{"class":74},[64,1403,1404],{"class":144}," \u002Fusr\u002Flocal\u002Fbin\u002Fbrew",[64,1406,326],{"class":144},[64,1408,1409],{"class":144}," libavif",[64,1411,1412],{"class":144}," jpeg-xl\n",[1414,1415],"br",{},"또는 제공된 스크립트 사용:",[55,1418,1420],{"className":57,"code":1419,"language":59,"meta":60,"style":60},"bash scripts\u002Fsetup-x86-libs.sh\n",[46,1421,1422],{"__ignoreMap":60},[64,1423,1424,1426],{"class":66,"line":67},[64,1425,59],{"class":70},[64,1427,1428],{"class":144}," scripts\u002Fsetup-x86-libs.sh\n",[29,1430,1431,1432],{},"x86_64 타겟용 빌드:",[55,1433,1435],{"className":57,"code":1434,"language":59,"meta":60,"style":60},"pnpm run build:tauri:mac-x64\n",[46,1436,1437],{"__ignoreMap":60},[64,1438,1439,1441,1443],{"class":66,"line":67},[64,1440,391],{"class":70},[64,1442,1332],{"class":144},[64,1444,1445],{"class":144}," build:tauri:mac-x64\n",[14,1447,1448],{},[80,1449,1450],{},"Intel Mac에서 빌드:",[14,1452,1453],{},"Intel Mac에서는 직접 빌드할 수 있습니다:",[55,1455,1456],{"className":57,"code":1434,"language":59,"meta":60,"style":60},[46,1457,1458],{"__ignoreMap":60},[64,1459,1460,1462,1464],{"class":66,"line":67},[64,1461,391],{"class":70},[64,1463,1332],{"class":144},[64,1465,1445],{"class":144},[1314,1467,1469],{"id":1468},"빌드-타겟-개요","빌드 타겟 개요",[1471,1472,1473,1489],"table",{},[1474,1475,1476],"thead",{},[1477,1478,1479,1483,1486],"tr",{},[1480,1481,1482],"th",{},"명령",[1480,1484,1485],{},"아키텍처",[1480,1487,1488],{},"플랫폼",[1490,1491,1492,1506,1517],"tbody",{},[1477,1493,1494,1500,1503],{},[1495,1496,1497],"td",{},[46,1498,1499],{},"build:tauri:mac-arm64",[1495,1501,1502],{},"ARM64",[1495,1504,1505],{},"Apple Silicon",[1477,1507,1508,1513,1515],{},[1495,1509,1510],{},[46,1511,1512],{},"build:tauri:mac-x64",[1495,1514,960],{},[1495,1516,954],{},[1477,1518,1519,1524,1527],{},[1495,1520,1521],{},[46,1522,1523],{},"build:tauri:mac-universal",[1495,1525,1526],{},"Universal (ARM64 + x86_64)",[1495,1528,1529],{},"모든 Mac",[1314,1531,1533],{"id":1532},"빌드-결과물-위치","빌드 결과물 위치",[14,1535,1536],{},"빌드 결과물은 타겟에 따라 다음 위치에 생성됩니다:",[55,1538,1541],{"className":1539,"code":1540,"language":112,"meta":60},[110],"app\u002Fsrc-tauri\u002Ftarget\u002F\n├── aarch64-apple-darwin\u002Frelease\u002F   # ARM64 빌드\n│   └── bundle\u002F\n├── x86_64-apple-darwin\u002Frelease\u002F    # Intel 빌드\n│   └── bundle\u002F\n└── universal-apple-darwin\u002Frelease\u002F # Universal 빌드\n    └── bundle\u002F\n",[46,1542,1540],{"__ignoreMap":60},[85,1544,1546],{"id":1545},"도움-받기","도움 받기",[14,1548,1549],{},"여기서 다루지 않은 문제가 발생하면:",[1124,1551,1552,1563,1572],{},[29,1553,1554,1555,1562],{},"알려진 문제에 대해 ",[1556,1557,1561],"a",{"href":1558,"rel":1559},"https:\u002F\u002Fgithub.com\u002Flogue\u002FDropWebP",[1560],"nofollow","Drop Compress Image 리포지토리"," 확인",[29,1564,1565,1566,1571],{},"macOS 관련 가이드는 ",[1556,1567,1570],{"href":1568,"rel":1569},"https:\u002F\u002Fv2.tauri.app\u002Fstart\u002Fprerequisites\u002F",[1560],"Tauri v2 문서"," 참고",[29,1573,1574],{},"기존 GitHub 이슈 검색하거나 새 이슈 생성",[18,1576,1578],{"id":1577},"다음-단계","다음 단계",[14,1580,1581],{},"Drop Compress Image가 성공적으로 빌드되면:",[1124,1583,1584,1594,1604,1610],{},[29,1585,1586,1589,1590,1593],{},[80,1587,1588],{},"테스트 실행",": ",[46,1591,1592],{},"pnpm test","를 실행하여 모든 것이 올바르게 작동하는지 확인",[29,1595,1596,1599,1600,1603],{},[80,1597,1598],{},"개발",": 핫 리로딩이 포함된 개발에는 ",[46,1601,1602],{},"pnpm tauri dev"," 사용",[29,1605,1606,1609],{},[80,1607,1608],{},"사용자 정의",": 코드베이스를 탐색하고 수정 사항 적용",[29,1611,1612,1615,1616,1603],{},[80,1613,1614],{},"배포",": 배포 가능한 패키지를 만들려면 ",[46,1617,1618],{},"pnpm tauri build",[14,1620,1621],{},"이제 macOS에서 Drop Compress Image를 개발하고 빌드할 준비가 되었습니다!",[1623,1624,1625],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":60,"searchDepth":184,"depth":184,"links":1627},[1628,1629,1632,1637,1642,1646,1650,1655,1661,1666,1671],{"id":20,"depth":184,"text":21},{"id":40,"depth":184,"text":41,"children":1630},[1631],{"id":87,"depth":432,"text":88},{"id":117,"depth":184,"text":118,"children":1633},[1634,1635,1636],{"id":124,"depth":432,"text":125},{"id":157,"depth":432,"text":158},{"id":199,"depth":432,"text":200},{"id":215,"depth":184,"text":216,"children":1638},[1639,1640,1641],{"id":222,"depth":432,"text":223},{"id":259,"depth":432,"text":260},{"id":275,"depth":432,"text":276},{"id":306,"depth":184,"text":307,"children":1643},[1644,1645],{"id":313,"depth":432,"text":314},{"id":332,"depth":432,"text":333},{"id":355,"depth":184,"text":356,"children":1647},[1648,1649],{"id":362,"depth":432,"text":363},{"id":380,"depth":432,"text":381},{"id":396,"depth":184,"text":397,"children":1651},[1652,1653,1654],{"id":403,"depth":432,"text":404},{"id":501,"depth":432,"text":502},{"id":743,"depth":432,"text":88},{"id":769,"depth":184,"text":770,"children":1656},[1657,1658,1659,1660],{"id":776,"depth":432,"text":777},{"id":801,"depth":432,"text":802},{"id":822,"depth":432,"text":823},{"id":849,"depth":432,"text":850},{"id":893,"depth":184,"text":894,"children":1662},[1663,1664,1665],{"id":897,"depth":432,"text":898},{"id":953,"depth":432,"text":954},{"id":1004,"depth":432,"text":1005},{"id":1117,"depth":184,"text":1118,"children":1667},[1668,1669,1670],{"id":1121,"depth":432,"text":1122},{"id":1308,"depth":432,"text":1309},{"id":1545,"depth":432,"text":1546},{"id":1577,"depth":184,"text":1578},false,"md",null,{},"\u002Fbuild-macos",{"title":5,"description":16},"build-macos","HRFfeSwa-XzCmCYL2NJg_FO2OilVGbYSKUtdOGRrpZQ",1780198564297]