パッケージがほとんど利用できるArchのようなOSから離れて、libpng-dev
のような欠落している開発依存関係をどのように処理しますか?
Nodeパッケージの依存関係-pngquant-bin
に問題があります。pngquant-binのビルドはlibpng-dev
パッケージに依存しています。libpng
&pngquant
はどちらもNixpkgsで利用できますが、libpng-dev
を見つけようとしています。
この場合の最良の解決策は何ですか?例えばオーバーレイの設定、ソースからのパッケージの作成...
調査:
libpng-config --cflag
を使用すると、開発ヘッダーがどこにあるかがわかります。どういうわけか、NPMパッケージをこれらのヘッダーに向けてpngquant-bin
バイナリを構築できると思います。
詳細を提供する問題をGitHubに記録しました: https://github.com/svanderburg/node2nix/issues/12
免責事項:私はNixOSを初めて使用します-Archから来ました。 NixOSを愛するアドバイスに感謝します!
Libpngパッケージには複数の出力があり、そのうちの1つがdevビルドであるようです。私のmacOSマシンの場合:
brocking@station1:~/dev > nix-env -qasA nixpkgs.libpng.dev
-PS libpng-apng-1.6.34
マニュアル には、これをカバーするnixpkgs
コレクションの章があります。 IIRC nixpkgsコレクションには、過去数回のメジャーリリースの複数の出力が含まれており、現在、多くのパッケージがこの方法で構築されていると思います。
PS nixpkgsマニュアルには、 node.jsパッケージ をカバーするセクションもあります。これも一見の価値があります。
あなたが開いたGitHubの問題をざっと見てみましたが、間違いなく正しい方向に進んでいるようですが、残念ながら、node.jsまたはnode2nix
のどちらにも精通していないため、確認できません。正確に問題は何ですか。
ただし、私が言える一般的なポイントの1つは、Nixで何かをパッケージ化しようとして、以下で発生したようなエラーが発生した場合は、ほとんどの場合、どちらかまたは両方を意味します。1.nixにその方法を伝える必要があります。依存関係(この場合はlibpng-dev
)を取得できます。2。ビルドしようとしているnix式に1への参照が含まれていることを確認する必要があります(多くの場合、これはbuildInputs
nix属性、使用しているビルドシステムによって大きく異なります)、あなたの場合、生成されたdefault.nix
ファイルのpngquant
式の引数として使用されている可能性があります。 node2nix
によるものですが、私が言ったように、それは私にはまったくなじみがないので、それについてはかなり間違っているかもしれません。
ℹ compiling from source ✔ pngquant pre-build test passed successfully ✖ RequestError: pngquant failed to build, make sure that libpng-dev is installed
#nixos IRCチャネルのチャットで、より多くのより速いヘルプを見つけることができます。そこにいる人々は非常に役に立ち、私は以前にそこで多くの知識を見つけました。
最後にもう1つ、Nixの大きな強みはその純度です。どこにあるかすべてを正確に伝える必要があり、それは少し気が遠くなる可能性があります。最初。しかし、頭を悩ませたら、純粋さは本当に感謝できるものです。