2
ghc가 생성 한 실행 파일이 있다고 가정 해 봅니다. 이제 나는 을 알고 싶다. (특정 라이브러리의 버전은 베이스/< 다른 라이브러리를 여기에 삽입 한 것과 같이?)?하스켈 실행 파일의 라이브러리 의존성 버전 찾기
찾을 수 있습니까?
더 구체적인 질문 - 내 stack
실행 파일에서 Cabal
라이브러리의 버전을 확인하고 싶습니다.
ghc가 생성 한 실행 파일이 있다고 가정 해 봅니다. 이제 나는 을 알고 싶다. (특정 라이브러리의 버전은 베이스/< 다른 라이브러리를 여기에 삽입 한 것과 같이?)?하스켈 실행 파일의 라이브러리 의존성 버전 찾기
찾을 수 있습니까?
더 구체적인 질문 - 내 stack
실행 파일에서 Cabal
라이브러리의 버전을 확인하고 싶습니다.
이 대답은 #haskell irc의 @ongy에게 감사드립니다.
정보를 찾으려면 GNU의 strings
유틸리티를 사용할 수 있습니다. Cabal
내 스택 실행 파일의 버전이 사용 를 찾으려면,이 작업을 수행 할 수 있습니다
strings ~/.local/bin/stack | grep -i Cabal-
큰 문자열을 뱉어 내가 거기에 정보의 조각을 찾을 수 :
/tmp/stack-upgrade7565/stack/.stack-work/install/x86_64-linux/lts-6.14/7.10.3/lib/x86_64-linux-ghc-7.10.3/stack-1.2.1-IEWywJcSJuzIIEqkeEd87k:/home/sibi/.stack/snapshots/x86_64-linux/lts-6.17/7.10.3/lib/x86_64-linux-ghc-7.10.3/Cabal-1.22.8.0-Ku2CIqstfjg7Z2SNHUypWH:/home/sibi/.stack/snapshots/x86_64-linux/lts-6.14/7.10.3/lib/x86_64-linux-ghc-7.10.3/Glob-0.7.11-0WpLeizIORG0eUMRaKlYmO:/home/sibi/.stack/snapshots/x86_64-linux/lts-6.14/7.10.3/lib/x86_64-li....
을
그리고 그 안에 Cabal-1.22.8.0
이 있습니다.
base
라이브러리 버전을 찾으려면 우리는 기본을 찾을 수 있습니다 에서 GHC 버전을 뱉어
executable +RTS --info
. 예 :
$ stack +RTS --info
[("GHC RTS", "YES")
,("GHC version", "7.10.3")
,("RTS way", "rts_thr")
,("Build platform", "x86_64-unknown-linux")
,("Build architecture", "x86_64")
,("Build OS", "linux")
,("Build vendor", "unknown")
,("Host platform", "x86_64-unknown-linux")
,("Host architecture", "x86_64")
,("Host OS", "linux")
,("Host vendor", "unknown")
,("Target platform", "x86_64-unknown-linux")
,("Target architecture", "x86_64")
,("Target OS", "linux")
,("Target vendor", "unknown")
,("Word size", "64")
,("Compiler unregisterised", "NO")
,("Tables next to code", "YES")
]
위의 팁에 @MarcelineVQ에게 감사드립니다.
프로젝트 폴더 안에 있다면'스택 목록 의존성 '을 실행하여'Cabal'의 버전이 사용되고 있는지 확인할 수 있습니다. 그게 네가 원하는게 아니야. – Alec
@Alec 고마워, 그래, 내가 원하는 건 아니야. 나는 단지 실행 파일로부터 의존성의 라이브러리 버전을 찾고 싶다. – Sibi