본문바로가기
자유게시판
수학을 주제로 떠들어 보세요!
[잡담] [삽질 로그] Chocolatey 설치 에러 해결법
Abiria♡ 2020.10.16 19:11 조회 2212

1. 이 글을 쓰는 목적

 

 

 

첫째로, 일단 제가 잊어버릴 거 같아서 미리 적어두는 겁니다.

 

 

둘째로, 혹시라도 Chocolatey 설치 문제로 어려움을 겪고 계실 또다른 분을 위해 시간낭비를 방지하고자 씁니다.

정말이지 개발자의 공유는 쓸모없는 삽질을 멈추게 하며, 전세계의 평화와 암 퇴치를 위해 반드시 필요하다 생각합니다!!!

 

 

 

2. 이 글의 대상

 

 

 

첫째로, 정말 당연하겠지만 Chocolatey설치에 문제를 겪고 계신 분들입니다.

 

 

둘째로, 일단 앞부분 좀 보다가 모르겠으면 보지 마세요.

굳이 댓글에 'ㄷ' 이런 쓸데없는 댓글을 달기만 하시는 건 자제해 주세요.

댓글은 가급적 자세한 질문, 또는 이 방법대로 하다가 발생한 문제에 대한 해결 요청, 이 방법에 대한 문의 및 지적 등만 받습니다.

 

 

셋째로, 저는 가급적 쉽게 설명하려 하긴 했지만, 그것도 일단 제 지식수준을 기준으로 합니다.

참고로, 사실 프로그래밍과 거의 상관없는 분야니 그쪽이랑 연관해서 생각하실 이유는 없습니다.

그래도 읽다가 궁금한 거 있으면 언제나 질문해주세요!

 

 

넷째로,  중요한 걸 잊고 있었는데요, windows사용자를 기준으로 합니다.

감격스럽게도 대한민국에 점점 Mac사용자가 늘고 있긴 하지만, 아직도 윈도즈 사용자가 많으니 사실 별로 중요하진 않습니다.

(사실 맥 사용자는 그냥 Homebrew쓰면 된다는 사실!)

그리고 windows10 이상이시라면 이미 기본으로 있지만, 혹시라도 windows7사용자를 위해 정확하게 말씀드리자면,

 

Windows 7 이상 / Windows Server 2003 이상

PowerShell v2 이상,

NET Framework 4+

 

....위의 조건들을 만족하셔야 아래의 내용이 진행 가능합니다.

 

 

다섯째로, 

Chocolatey가 뭔지는 모르겠지만 (사람님 하시는 거 보니 멋져 보여서) 나도 하고 싶다!

하시는 분들입니다.

그분들은 우선 스크롤을 밑으로 내리셔서 Chocolatey에 대한 설명을 참고해 보세요. (링크)

(제발 그분들은 저처럼 문제 없이 바로 설치해서 쇼콜의 기쁨만 누리시길 빕니다....크흡)

 

 

 

 

....그리고 위에 해당하지 않으시더라도, 사실 읽는 건 자유입니다!

 

 

 

3. 본론

 

 

 

와 서론 엄청 길었네요!

 

이제부터 문제 해결법 바로 알려드립니다!!

 

 

정상적인 살치 방법:

 

 

우선 Chocolatey 홈페이지에 들어가서 (https://chocolatey.org/) Get started로 들어가면 친절한 설명이 있는데요,

 

 

1. 파워쉘을 관리자 권한으로 실행합니다.

 

 

파워쉘은 cmd처럼 생겼지만, 좀더 강력한 권한을 사용 가능합니다.

간단히 Win+R 키를 누르고 나타난 팝업에 'powershell' 이라 적으시고 엔터를.... 치시기 전에!

 

 

 

관리자 권한으로 실행하기 위해서 Ctrl+Shift+Enter를 치셔야 합니다.

 

 

 

실행할지 묻는 창이 나오면 yes를 누르세요.

(참고로 안나와도 상관 없습니다)

 

 

 

 

 

그럼 요렇게 생긴 창이 뜹니다.

 

 

 

 

 

 

 

 

 

Chocolatey 는 여기에 

 

 

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

 

 

라는 명령어를 붙여넣으라고 합니다.

 

 

 

 

근데 전 이상한 에러 뜨면서 안되요!

 

 

 

 

 

그러면 우선 권한이 제대로 먹히는지 확인해 보셔야 합니다.

 

 

 

MS에서 올린 이 문서(https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7)

를 살펴보면 다음과 같은 설명이 있습니다.

 

 

 

PowerShell's execution policy is a safety feature that controls the conditions under which PowerShell loads configuration files and runs scripts. This feature helps prevent the execution of malicious scripts.

(PowerShell의 실행 정책은 PowerShell이 구성 파일을로드하고 스크립트를 실행하는 조건을 제어하는 안전 기능입니다. 이 기능은 악성 스크립트의 실행을 방지하는 데 도움이됩니다.)

 

 

 

 

쉽게말해 악성 프로그램이나 부주의한 사용자가 이상한 스크립트를 설치하지 않도록 마련해놓은 장치입니다.

 

 

 

 

그럼 이런 실행 정책을 확인하려면 어떻게 해야 할까요?

 

 

 

 

Get-ExecutionPolicy 라고 쳐보면 현재 실행 정책이 표시됩니다.

 

 

 

 

Restricted는 개별 명령을 허용하지만 스크립트는 허용하지 않는 다는 뜻입니다.

 

 

 

만약 Bypass나 AllSigned 가 아니면 Chocolatey를 설치할 수 없을 것입니다.

 

 

 

그 경우, 아주 간단한 해법이 있습니다.

 

 

 

Set-ExecutionPolicy -ExecutionPolicy 실행 정책

 

 

 

를 사용하는 겁니다.

 

 

 

예를 들면 Set-ExecutionPolicy -ExecutionPolicy bypass 를 쳐보면

 

 

 

(Y를 입력하고 엔터!)

 

 

와! 에러입니다!!

 

 

 

ㅋㅋ 사실 파워쉘의 정책 구성은 생각만큼 간단하지가 않습니다.

 

 

 

Get-ExecutionPolicy -List 를 입력해보시면

 

 

 

 

 

LocalMachine에는 아까 진행한 것처럼 Bypass가 설정되었음을 볼 수 있습니다.

 

 

 

하지만 CurrentUser의 정책이 우선되기 때문에 여전히 Restricted임을 알 수 있습니다!!

 

 

 

파워쉘에는 그룹 정책이라는 것이 있는데....

 

 

 

이거 다 설명하기는 참 복잡하고.....

 

 

 

여기 (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-7) 와

다른 관련 자료들을 찾아보면서 스스로 공부해 보시면 됩니다.

 

 

 

공바하기 귀찮으시다면, 간단히 Set-ExecutionPolicy -ExecutionPolicy bypass -Scope CurrentUser 를 복사&붙여넣기 하시면 됩니다.

 

 

 

(Y 누르시고요,)

 

 

완벽합니다!

CurrentUser 마저 Bypass권한으로 바귀었습니다!!

 

 

 

이제 권한 문제는 1도 없습니다!

 

 

 

마음껏 평화롭게 쇼콜을 설치하시면 됩니다!!@

 

 

 

(그러나....)

 

 

 

....그런데 다시 해봐도

 

 

 

 

여전히 행복한 에러가 발생합니다!!ㅋㅋㅋ

 

 

 

여기서도 같은 에러가 발생하시는 분들은 다음 방법을 따라해 주세요.

(아 문론 방금 위에 설명한 방법으로 해결되셨다면 상관없습니다)

 

 

 

에러 메세지의

요 녀석이 누군지 알아내느라 설치한 모든 보안프로그램을 지웠지만....

 

 

 

여전히 그대로입니다.

 

 

 

그런데 순간적으로  McAfee 가 남아있다는 것을 깨달았습니다.

 

 

 

설마 MS에서 만든 건데도 파워쉘 구동을 막겠어? 하다가도

 

 

 

일단 삭제했습니다.

 

 

 

(맥아피는 윈도우 검색창에 McAfee라고 치면 나오는 이 친구

입니다. 이름이 다르거나 아이콘이 달라도 버전이 다른 거지 다 똑같은 암 발생장치입니다. 제거하세요.)

 

 

 

 

 

 

 

 

 

컴퓨터를 다시 시작시키고 해보니....

 

 

 

 

 

 

 

 

 

 

 

 

 

오아ㅏ아아ㅏㅏㅏ아아아아ㅋㅋㅋㅋㅋㅋㅋ

 

 

 

McAfee를 삭제하니깐 암이 나앗네요 ㅋㅋㅋㅋㅋㅌㅋ

 

 

 

 

간단 요약: 다른 거 다 필요없고 McAfee만 삭제하면 끝납니다~!!!ㅋㅋㅋ

 

 

 

 

 

 

 

 

(나중에 찾아보니 이미 이런 답변이 있더라고요)

 

 

 

 

자! 끝입니다!

 

 

(여기까지 따라오셔도 문제가 해결되지 않는다면 댓글로 말해주세요)

 

 

 

 

 

4. chocolatey 사용 방법

(빈 링크니까 무시하세요 클릭하면 맨 위로 가서 스압당합니다)

 

 

 

chocolatey는 윈도우용 패키지 매니저 입니다.

 

 

 

이름은 길죠?

 

 

 

근데 간단히 말해서,

 

 

 

애플리케이션을 설치할 때 커맨드 한줄만으로 깔끔하게 설치해주는 프로그램입니다.

 

 

 

홈페이지 가서 무슨무슨 가입 하고, 인스톨러 다운받고, 실행시키고 어쩌고저쩌고....

 

 

 

하는 길고 귀찮은 과정 없이 chocolatey에서 바로 다운로드 가능합니다!!

 

 

 

겨우 이거냐고요?

 

 

 

그럼 이친구로 크롬을 설치해 보겠습니다.

 

 

 

chocolatey의 홈페이지에서 find packages로 들어가서(https://chocolatey.org/packages) 여기서 뭐든 검색해서 찾아 설치하면 됩니다!

 

 

 

사실 크롬은 워낙 다운로드 수가 많아서 밑에 바로 있습니다.

 

 

 

들어가서

 

 

 

설명에 쓰인대로 choco install googlechrome 를 입력하면 됩니다.

 

 

전 이미 설치가 되어있네요.

 

 

그럼 대신 Chromium을 설치해보겠습니다.

 

 

마찬가지로 검색해서 찾으시고, 파워쉘에 입력하시면 끝입니다.

 

 

 

 

아주 간단하게 (인스톨러로 설치하는 과정에서 발생하는 상당한 양의 클릭 없이) 설치가 되었습니다.

 

 

 

 

보시다시피 새로운 앱 항목에도 보이네요!

 

 

chocolatey로 notepad++도, visual studio code도, Node.js, Strawberry Perl 도 설치 가능합니다!

 

 

 

자꾸 개발툴만 나오는 거 같긴 한데, 사실 어쩔 수 없는 것이,

 

 

 

아마 CLI화경에 익숙하지 않은 일반 유저분들은 아마 GUI환경을 계속 사용하실지도 모릅니다.

 

 

 

그래서 그냥 개발자들만 쓰면 된다 이소립니다!! 하핳

 

 

 

문론 실제론 프로그래밍과 1도 관련 없습니다.

 

 

 

하튼 개발자분들은 이런 식으로 설치하시는 걸 선호하실 지도 모릅니다.

 

 

 

예를들어 Strawberry Perl 을 설치하고 싶으시다면, 

 

 

 

파워쉘에 choco install strawberryperl 라고 치고,

 

 

 

설치가 완료되면 간단한 스크립트를 짜고,

 

 

 

저장하고,

 

 

아까 열었던 파워쉘 창에서 그대로 돌리면 됩니다.

 

 

(혹시 안되면 새 창을 여시면 됩니다)

 

 

 

 

와! perl도 설치가 되고, 실행도 잘 됩니다!

 

 

 

 

 

 

 

자! 이것으로 모든 설명이 끝났습니다.

 

 

참고로 다 끝나고 나면 Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope CurrentUser 로 권한 해제해 주시는 거 잊지 마세요.

(안그랬다간 나중에 악성프로그램이 자기 맘대로 설치하거나 철없는 사촌동생이 컴퓨터 만지다가 해로운 스크립트를 다운받거나 하는 일이 생깁니다)

 

 

 

 

 

 

(혹시라도 질문이 있으시다면 댓글로 적어주세요!)

  • 폴리매스 문제는 과학기술진흥기금 및 복권기금의 재원으로 운영되고, 과학기술정보통신부와 한국과학창의재단의 지원을 받아 수행된 성과물로 우리나라의 과학기술 발전과 사회적 가치 증진에 기여하고 있습니다.

  • ☎문의 02-6749-3911