Nixos,是否可以“别名”图书馆的名称?

问题描述 投票:0回答:1

我每天都在使用 NixOS,并且正在尝试重新开发 Flutter 应用程序。我目前正在尝试构建 (

flutter run
) LocalSend 应用程序。

问题:此应用程序具有

system_tray
依赖项(请参阅 Pub.devGithub)。问题在于
system_tray
包依赖于
ayatana-appindicator
库(请参阅下面的编译错误):

$> flutter run
Launching lib/main.dart on Linux in debug mode...
CMake Error at flutter/ephemeral/.plugin_symlinks/system_tray/linux/CMakeLists.txt:29 (message):


  The `system_tray` package requires ayatana-appindicator3-0.1 or
  appindicator3-0.1.

“没什么大不了的”我一开始以为,我只需要安装这个库。在搜索 Nix 软件包后,我找到了

libayatana-appindicator
软件包。伟大的 !所以我运行
nix-shell -p libayatana-appindicator
然后重新运行
flutter run
但我仍然遇到相同的错误。我认为这可能不是正确的软件包,所以我尝试了此处列出的所有软件包但仍然是相同的错误

在深入挖掘

system_tray

 包的 
repo 后,我在 linux/CMakeList.txt 中找到了这一行

pkg_check_modules(APPINDICATOR IMPORTED_TARGET ayatana-appindicator3-0.1)
所以问题似乎是这条线正在专门寻找 

ayatana-appindicator3-0.1

 包,但没有找到它,因为它在 NixOs 上被命名为 
libayatana-appindicator

所以我的问题是:

如何将“别名”libayatana-appindicator

设置为
ayatana-appindicator3-0.1
以便编译器可以找到它?
或者也许如果您有任何更好的想法,我也会喜欢它。

感谢您的阅读,我希望我已经能够清楚地表达我的问题和思考过程。

flutter nixos
1个回答
0
投票
我遇到了同样的问题,并寻找并寻找解决方案。最后很愚蠢简单,包裹

pkg-config

丢失了。 😅我在CMakeList.txt中找到了提示。另外,我必须以
超级用户身份运行它,但我不明白为什么......

我正在使用以下 nix-shell 文件并且它可以工作。

{ pkgs ? import <nixpkgs> {} }: with pkgs; mkShell { nativeBuildInputs = [ flutter gtk3 pkg-config libappindicator libappindicator-gtk3 ]; }
    
© www.soinside.com 2019 - 2024. All rights reserved.