ほとんどのパッケージを使用できるArchなどのオペレーティングシステムから抜け出し、欠落している開発依存関係を処理する方法はlibpng-dev
?
ノードパッケージの依存関係の問題がありますpngquant-bin
。libpng-dev
pngQuant-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に精通していません。
しかし、私ができる1つの一般的なポイントは、Nixで何かをパッケージ化しようとしたときに、次のエラーが発生するたびにほぼ常に1の1つまたは両方を意味することです。 nixに依存関係を取得する方法を教えてください(libpng-dev
この場合)と2.ビルドしたいnix式に何らかの方法で1への参照が含まれていることを確認する必要があります(buildInputs
どのビルドシステムを使用しているかによって大きく異なりますが、通常、nixプロパティを介して)。場合pngquant
によっては、生成されたファイルの式のパラメータである可能性があると推測します。私が言ったように、私はとても新しいものなので、それについて完全に間違っている可能性があります。default.nix
node2nix
ℹ 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をどこで見つけることができるかを正確に伝える必要があります。すべて、最初は少し難しいかもしれません。しかし、一度これを理解したら、その純粋さを心から感謝します。