所以。我使用ArchLinux与i3窗口管理器(简而言之,没有适当的桌面环境)。我是Arch Linux的新手。
我正在尝试安装这个叫做“快门”的软件包,这将帮助我拍摄截图。
现在,我试着安装“百叶窗”
sudo pacman -S shutter
不幸的是,pacman存储库中没有快门(或者不管它叫什么,对不起),我知道它是不可用的,但我只想试一试。
我之所以知道它是不可用的,是因为它被列在了8月。现在,AUR中的包是主存储库中不存在的包。很好。我从它的git下载这个包,并尝试“制作”它。
git clone aur.blah.blah.shutter.git
cd shutter
makepkg -s
这就是我所面临的错误。
[pc@PC shutter]$ makepkg -s
==> Making package: shutter 0.93.1-11 (Thu May 18 19:05:21 UTC 2017)
==> Checking runtime dependencies...
==> Installing missing dependencies...
[sudo] password for pc:
error: target not found: gnome-perl
error: target not found: perl-gnome2-wnck
error: target not found: perl-gtk2-imageview
error: target not found: perl-gtk2-unique
warning: skipping target: perl-xml-simple
==> ERROR: 'pacman' failed to install missing dependencies.
现在,我仔细地看了这个列表,并意识到这些依赖包,例如,、gnome、和其他包,它们本身在pacman的主要回购程序中是不可用的,但是在8月出现了。所以这就解释了为什么帕克曼无法找到目标。
为了证实我试过:
[pc@PC shutter]$ sudo pacman -S gnome-perl
error: target not found: gnome-perl
是的,这个"gnome-perl“和其他依赖项也是AUR的一部分,因此当"makepkg”告诉pacman安装它时,pacman simple就失败了。
那么,我应该如何从AUR中安装这样的软件包,这些软件包对其他AUR软件包的依赖程度还很高呢?
提前谢谢你。如果我的观念是错的。请指点。再次感谢。
PS :我做了sudo pacman -Syyu,但没有运气,毕竟这些包不是主要回购的一部分,而且是在8月份,所以更新pacman镜像列表和系统更新不应该修复它。
发布于 2017-08-13 12:42:21
您可以告诉懦夫递归下载AUR包的AUR依赖项,方法是指定下载选项-d
,类似于so -dd
、-d -d
或--download --download
。
来自man cower
:OPERATIONS -d, --download Download target. Pass this option twice to fetch uninstalled dependencies (done recursively).
如果插入了AUR
,则会更清楚:将此选项传递两次以获取卸载的AUR依赖项(递归完成)。但公平地说,懦夫只和八月打交道。;)
(当然,makepkg
命令已经处理了主要的Arch依赖项(非AUR)。)
在安装时,最好将所有AUR包下载到一个专用文件夹中,并将它们放在那里。可跟踪下载到哪里的软件包并从何处安装。(我的AUR包都被下载到/home/myUsername/AUR-packages
中,因为我是唯一的用户。)这一切都取决于你的情况。
首先,您必须在每个AUR依赖项的文件夹中运行makepkg -sic
(或其他选项)。然后在主AUR包的文件夹中。
更新:
要轻松检查安装的AUR包是否有更新,请执行以下操作:
cower -u
-u
与-dd
相结合,检查并递归下载所有AUR依赖项:cower -udd
(或立即执行此操作)cd
放入每个AUR 依赖项的文件夹中,然后运行makepkg -sic
(或您通常使用的任何选项)。makepkg -sic
(或您通常使用的任何选项)。不要忘记,还有一个详细的选项-v
,它还可以让您看到所有其他已检查过的更新包。不只是那些有更新的。
您安装的AUR包越多,您就会意识到这需要一个或多个脚本的自动化。
发布于 2017-07-30 08:45:25
如果它对您有用,这是一个简单的bash函数,它尝试下载和安装一个包列表。当然,它不会解决依赖关系,所以您需要在依赖它们的包之前安装依赖项。
aur_manual_install() {
[[ ! -d aur_packages ]] && mkdir aur_packages
pushd aur_packages
for PKG in "$@" ; do
curl -o ${PKG}.tar.gz https://aur.archlinux.org/cgit/aur.git/snapshot/${PKG}.tar.gz
tar zxvf ${PKG}.tar.gz
rm ${PKG}.tar.gz
pushd ${PKG}
makepkg -csi --noconfirm
popd
done
popd
#rm -rf aur_packages # Uncomment if you want to clean up after install
}
使用示例(参数是按顺序安装的包列表):
aur_manual_install cower-git pacaur
也许您想添加set -e
以防止出现错误,等等。
编辑1:我发布的原始代码有一些问题,因为它是从一个更大的脚本中提取出来的。
编辑2:我在安装软件包方面取得了一些进展:
aur_manual_install \
gnome-perl gnome-vfs gnome-vfs-nosmb gnome-vfs-perl gnomecanvas-perl libbonobo libbonoboui libgnome libgnome-data libgnomeui orbit2 perl-gnome2-wnck perl-gtk2-imageview perl-gtk2-unique shutter
(可能还有其他已经安装的软件包)。
编辑3:我必须手动安装,因为它与gnome冲突。
编辑4:终于!填完所有剩下的包裹后,我就开始工作了。但是让开发人员更新到GTK3或类似的可能是个好主意;哇,很显然,这个项目是在2014年更新的。
发布于 2017-05-20 01:56:00
您可能会发现一些有用的AUR包管理器。
我个人使用yaourt,它非常简单,并且自动解决依赖关系。
它很容易安装,只需按照说明:
若要安装包(及其所有依赖项),请运行:
yaourt -S shutter
https://stackoverflow.com/questions/44056244
复制相似问题