目标:在CentOS 7 docker容器上编译并运行flutter示例,模拟Linux Desktop
(Note:无法使用snapd -Docker中不支持)手动安装
所有的事情都解决了,除了这个:
GTK 3.0 development libraries are required for Linux development.
They are likely available from your distribution (e.g.: apt install
libgtk-3-dev)
The others show OK:
Γú[Γ£ù] Linux toolchain - develop for Linux desktop
ΓÇó clang version 3.4.2 (tags/RELEASE_34/dot2-final)
ΓÇó cmake3 version 3.17.5
ΓÇó ninja version 1.10.2
ΓÇó pkg-config version 0.29.2
Γú[Γ£ô] Connected device (1 available)
ΓÇó Linux (desktop) ΓÇó linux ΓÇó linux-x64 ΓÇó CentOS Linux 7 (Core)
4.19.76-linuxkit
另一个线程在诊断时要求提供特定的版本。以下是:
pkg-config --modversion gtk+-3.0 3.22.30
pkg-config --modversion glib-2.0 2.56.1
pkg-config --modversion gio-2.0 2.56.1
pkg-config --modversion blkid 2.23.0
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/local/lib/pkg config:
我希望能有一些帮助来解决这个问题!!!!
4条答案
按热度按时间wn9m85ua1#
我将Ubuntu更新到22.04 LTS版本,当我需要安装Flutter和Android Studio时,我在
flutter doctor
输出中遇到了类似的错误:命令
apt install libgtk-3-dev
返回了各种错误,首先是类似于:然后我试着更新所有的包:
这些命令没有一个是无效的
因此,我尝试删除
libgtk-3-dev
,然后重复自动删除并尝试再次安装libgtk-3-dev
。但现在它向我展示了它有一些未满足的依赖性(看起来它依赖于libpcre3
和\或libpcre3-dev
的某些版本),并且由于某种原因apt
拒绝安装它。我试了很多方法来删除这个该死的包,但我做不到。据我所知,最初的问题是,这个糟糕的软件包(
libpcre3
)的版本,我已经从Ubuntu 18开始扩展,并且有32位版本和x64版本,其中一些依赖关系是扭曲的。好吧,或者其他一些问题-也许在下一次更新时有些东西没有删除,尽管它应该被删除。最后,我使用图形化shell通过apt-
synaptic
解决了这个问题(它很棒,我推荐给大家)。这很容易设置:之后,我在列表中找到了amd64版本
libpcre3
,标记为安装并安装了它。之后,只需通过控制台安装即可它工作得很好,更新了所有依赖项。
s6fujrry2#
看起来大部分都与路径有关,一些库的名称略有不同(gtk 3-devel,libblkid-devel,xz-devel)。cmake 3周围的一些烦恼,并获得更多的pkg-config,xproto,kbproto,xextproto的最新版本,以及所述包的配置。至少我现在有个干净的扑动医生了
现在,我们来尝试运行它……
wgmfuz8q3#
我最近在我的机器上重新安装了操作系统,我决定通过FVM安装和使用Flutter。我有很多其他的问题。
**解决方案:**铿锵++
sudo snap install cmake
,但它返回了一个错误,这是因为快照评论“cmake”是使用经典限制发布的,因此可以在快照通常被限制的安全沙箱之外进行任意系统更改,这可能会使系统处于风险之中。有人建议我:“如果您理解并想继续,请重复命令,包括--classic?要解决它,我只是理解和继续
这解决了这里的一切,它没有执行顺序,每个依赖项都是独立添加的。
希望我有贡献!
toe950274#
我在这里遇到了类似的问题,但找到了解决它的方法。所有库都已安装,但
flutter doctor
另有说明。当我用
pkg-config --list-all |grep gtk
检查时,它显示“gtk+-3.0”在那里。但是当我执行
pkg-config --exists 'gtk+-3.0'; echo $?
时,它总是返回1。我花了一段时间才弄明白pkg-config有额外的选项--print-errors
来显示当我们使用--exists
时小屋后面发生了什么。在我的情况下做
pkg-config --exists --print-errors 'gtk+-3.0'
它给了我这就是那个不告诉你后面发生了什么的人有多小气。
稍微挖掘一下,原来
wayland-client
是基于rpm的发行版中wayland-devel
的一部分,我使用openSUSE btw。安装wayland-devel
后,flutter doctor
显示一切正常。你现在可以找出你的错误了。
希望对你有帮助。