명령
choco list -lo
설치된 패키지를 나열합니다. 그러면 Chocolatey 애플리케이션이 어디에 설치되는지 어떻게 알 수 있나요? 지금까지 나는 그들을 찾아다녀야 했습니다.
몇 가지 예:
- NUnit은 다음으로 이동합니다.
Program Files (x86)
- WGET은 다음으로 이동합니다
%ALLUSERSPROFILE%\chocolatey\bin and %ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
- ConsoleZ가 갔다
%ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
choco list
그들이 어디로 갔는지 알려주는 깃발이 있나요 ? ChocolateyGUI도 이 작업을 수행하지 않는 것 같습니다.
데비안과 비슷합니다:
dpkg-query
또는 RedHat의 경우:
rpm -ql [package-name]
또는 YUM의 레포쿼리:
repoquery --list [package-name]
홈브류:
brew list [package-name]
답변1
현재로서는 요청하신 작업을 수행할 수 있는 방법이 없습니다.
각 Chocolatey 패키지는 MSI 또는 EXE에 대한 래퍼일 수도 있고, 압축된 아카이브를 알려진 위치(예: C:\tools)로 간단히 추출할 수도 있고, 다음을 수행하는 PowerShell 모듈일 수도 있다는 점에서 고유합니다. PSModulePath로 추출하거나 완전히 사용자 정의할 수도 있습니다.
이는 동일한 작업을 수행하는 여러 가지 방법이 있는 Windows 생태계의 부작용입니다. Chocolatey는 최소한 원하는 모든 패키지를 한 곳에서 찾을 수 있는 메커니즘을 제공하여 이에 대한 일종의 질서를 가져오려고 노력하고 있지만 Chocolatey가 할 수 있는 일은 한계가 있습니다.
상황을 완전히 다르게 보면 다음을 사용하여 Chocolatey 패키지에 설치 인수를 전달할 수 있습니다.
https://github.com/chocolatey/chocolatey/wiki/CommandsInstall#installarguments-선택 사항---v09813
이론적으로는 MSI 또는 EXE 기반 Chocolatey 패키지의 설치 인수를 변경하여 파일이 설치되는 위치를 변경할 수 있습니다. 여기에서 이 접근 방식이 사용되는 예를 볼 수 있습니다.
http://chocolatey.org/packages/VisualStudio2013Ultimate
그러나 이 접근 방식은 제한적입니다. 모든 사람이 Matt처럼 시간을 들여 가능한 설치 인수를 언급하는 것은 아니며 MSI 또는 EXE로 보낼 수 있는 설치 인수를 추출하는 것은 상당히 복잡한 프로세스입니다.
ChocolateyGUI 측면에서, 그리고 해당 제품의 현재 관리자로서 저는 이것이 이 분야에서 어떤 영리한 것도 하지 못한다고 말할 수 있습니다 :-). 이는 단순히 Chocolatey가 제공하는 명령줄 도구를 둘러싼 래퍼이며, 명령줄 사용을 좋아하지 않는 사람들이 더 쉽게 사용할 수 있도록 하는 것을 목표로 합니다.
답변2
에서 유용한 것들을 찾았어요
C:\ProgramData\chocolatey\logs\choco.summary.log
C:\ProgramData\chocolatey\logs\chocolatey.log
확실히 이러한 로그에는 (이 경우) 중복되는 정보가 많이 포함되어 있습니다. 그러나 적어도 초콜릿이 실제로 무엇을 하는지 더 잘 이해하기 위해 볼 수 있습니다.
답변3
일부 결과가 누락되었을 수 있지만 일부 패키지를 찾는 데 도움이 되었습니다.
(Get-Content C:\ProgramData\chocolatey\logs\choco.summary.log) -match 'Software installed to'
답변4
안타깝게도 제가 아는 바는 아닙니다. 설치 디렉터리는 패키지 자체에 의해 결정된다고 생각합니다. .nuspec 파일에 정의되어 있지 않으며 Chocolatey 소스 코드에 명시적으로 정의되어 있는 곳도 없습니다.