글쎄 내 앱 이름이 hackage에 업로드 된 패키지 중 하나와 동일하므로 stack solver --resolver lts 7.12
을 사용하여 추가 종속성을 해결하려고 할 때 오류 다음 .cabal 파일extra-deps와 함께 스택 솔버를 사용하는 중 Hackage 이름 충돌
$ stack solver --resolver lts-7.12
Using configuration file: stack.yaml
Using cabal packages:
- html-parse.cabal
Using resolver: lts-7.12
Using compiler: ghc-8.0.1
Asking cabal to calculate a build plan...
Trying with packages from lts-7.12 as hard constraints...
Attempt failed.
>>>> Cabal errors begin
cabal.exe: Could not resolve dependencies:
next goal: html-parse (user goal)
rejecting: html-parse-0.2.0.0, 0.1.0.0 (global constraint requires ==0.0.0.3)
trying: html-parse-0.0.0.3
next goal: hunit (dependency of html-parse-0.0.0.3)
Dependency tree exhaustively searched.
<<<< Cabal errors end
Could not parse cabal-install errors:
>>>> Cabal errors begin
cabal.exe: Could not resolve dependencies:
next goal: html-parse (user goal)
rejecting: html-parse-0.2.0.0, 0.1.0.0 (global constraint requires ==0.0.0.3)
trying: html-parse-0.0.0.3
next goal: hunit (dependency of html-parse-0.0.0.3)
Dependency tree exhaustively searched.
<<<< Cabal errors end
내 애플/패키지 이름은 html-parse
이며, 현재 버전은 0.0.0.3입니다. 내 자신의 패키지가 ==0.0.0.3
이라는 제약 조건을 가진 종속물로 나열된 것처럼 보이지만 동일한 이름이지만 버전이 다른 hackage에 대한 또 다른 pacakge가 있습니다.
내 앱의 이름을 바꾸지 않고도이 문제를 어떻게 해결할 수 있습니까?
Package names and versions
All packages have a name, e.g. “HUnit”. Package names are assumed to be unique. Cabal package names can use letters, numbers and hyphens, but not spaces. The namespace for Cabal packages is flat, not hierarchical.
따라서, 음모 라이브러리 패키지 이름 충돌을 처리하는 기능이없고, 어느 쪽도 도 스택을 음모 설치하지 않는 다음 Cabal user guide (강조 광산을) 인용
답변과 수정 해 주셔서 감사합니다. 나는 단지 핵심 애플 리케이션이 패키지로 간주되지 않을 것이라고 생각했지만 libs 등으로 멀티 패키지 프로젝트를 빌드하기 위해서는 모든 것을 cabal 측면에서 패키지로해야한다. – DuckOfDoom
내 질문에 감사합니다. 감사합니다. – DuckOfDoom