NixOS 누락 종속성 처리 ~ libpng-dev

NixOS 누락 종속성 처리 ~ libpng-dev

대부분의 패키지를 사용할 수 있는 Arch와 같은 운영 체제에서 벗어나 누락된 개발 종속성을 처리하는 방법은 무엇입니까 libpng-dev?

노드 패키지 종속성 문제가 있습니다 pngquant-bin. libpng-devpngQuant-bin을 빌드하는 방법은 패키지 에 따라 다릅니다 . libpng& pngquant는 Nixpkgs에서 사용할 수 있지만 libpng-dev.

이 상황에서 가장 좋은 해결책은 무엇입니까? 재정의 설정, 소스에서 패키지 생성 등...

연구:

libpng-config --cflag개발 제목이 표시되는 위치를 사용하세요 . 나는 pngquant-bin바이너리를 빌드하기 위해 NPM 패키지를 이 헤더로 어떻게든 보낼 수 있다고 가정합니다 .

자세한 내용과 함께 GitHub에 문제를 기록했습니다.https://github.com/svanderburg/node2nix/issues/123

부인 성명:저는 NixOS를 처음 사용합니다. Arch에서 왔습니다. 어떤 조언이라도 감사하겠습니다. NixOS를 사랑해주세요!

답변1

libpng 패키지에는 여러 출력이 있는 것 같습니다. 그 중 하나는 개발 버전입니다. 내 macOS 컴퓨터에서:

brocking@station1:~/dev > nix-env -qasA nixpkgs.libpng.dev
-PS  libpng-apng-1.6.34

그 안에 장이 있습니다수동이 콘텐츠를 다루는 컬렉션입니다 nixpkgs. IIRC nixpkgs 컬렉션에는 지난 몇 가지 주요 릴리스의 여러 출력이 포함되어 있으며 현재 많은 패키지가 이런 방식으로 구축되어 있다고 생각합니다.

PS nixpkgs 매뉴얼에도 다음 내용을 다루는 섹션이 있습니다.Node.js 패키지이것도 볼만한 가치가 있을 것 같습니다.


귀하가 공개한 GitHub 문제를 잠깐 살펴보았는데 올바른 방향으로 가고 있는 것 같습니다. 하지만 불행하게도 저는 node2nix문제가 무엇인지 정확히 알 수 있을 만큼 Node.js에 익숙하지 않습니다.

그러나 내가 할 수 있는 한 가지 일반적인 요점은 Nix로 무언가를 패키징하려고 할 때 다음과 같은 오류가 발생할 때마다 거의 항상 1 중 하나 또는 둘 다를 의미한다는 것입니다. nix에 종속성을 가져올 수 있는 방법을 알려주어야 합니다( libpng-dev이 경우 ) 및 2. 빌드하려는 nix 표현식에 어떤 방식으로든 1에 대한 참조가 포함되어 있는지 확인해야 합니다( buildInputs어떤 빌드 시스템을 사용하고 있는지에 따라 크게 다르지만 일반적으로 nix 속성을 통해). 경우 pngquant에 따라 생성된 파일의 표현식에 대한 매개변수 일 수 있다고 추측합니다 . 비록 제가 말했듯이 그것은 나에게 매우 새로운 것이므로 그것에 대해 완전히 틀렸을 수도 있습니다.default.nixnode2nix

ℹ compiling from source ✔ pngquant pre-build test passed successfully ✖ RequestError: pngquant failed to build, make sure that libpng-dev is installed

#nixos IRC 채널의 채팅에서 더 많고 더 빠른 도움을 찾을 수 있습니다. 그곳의 사람들은 매우 도움이 되고 저는 이전에 그곳에서 많은 지식을 찾았습니다.

마지막으로 Nix의 힘은 순수성입니다. Nix에게 Nix를 어디서 찾을 수 있는지 정확하게 알려주어야 합니다.모든 것, 처음에는 조금 어려울 수 있습니다. 그러나 일단 이것을 이해하고 나면 그 순수함을 진심으로 감사하게 될 것입니다.

관련 정보