Home Antergos Yay – Yet Another Reliable AUR Helper Written In GO
Yay AUR helper

Howdy Arch Users! I've got a good news for you. Today, I stumbled upon yet another reliable AUR helper called "Yay". Yep! the name of this AUR helper is Yay. In the past, I was using Pacaur for installing AUR packages. It did a great job and I really liked it. I have also used some other AUR helpers such as Packer and Yaourt as well. But, they are all now discontinued and not recommended to use anymore. After reading about Yay features, I thought to give "Yay" a try and see how things works. So, here we go!

Yay - Yet another Yaourt, an AUR Helper written in Go

As the title says, Yay, stands for yet another yaourt, is a new reliable AUR helper written in GO language. It provides an interface for pacman and also it has almost no dependencies. It provides yaourt like search feature and minimizes the user input greatly. Another notable feature is you can choose which application to install or update. Also, It supports AUR tab completion, so just type few letters of an AUR package and hit enter KEY to complete the name.

Install Yay

To install Yay on any Arch-based systems, run the following commands one by one.

$ sudo pacman -S git
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si

Usage

Like any other AUR helpers, the typical way to install a package from AUR is:

$ yay -S <package-name-here>

Example:

$ yay -S mplayer

To search for a package in AUR and official repositories, use -Ss flag like below.

$ yay -Ss mplayer
aur/animewatch-pyqt5 4.2.0-0 (0) 
 An Audio/Video Manager and Front End for mpv/mplayer with special emphasis on Anime Collection
aur/delta-media-player 1.16-3 (0) 
 IPTV program stream player for DMPlayer
aur/phonon-mplayer-git 20120714.7217499-1 (0) 
 Mplayer backend for phonon, the multimedia API of KDE. (Qt4 only) GIT version)
aur/mplayer-autocmd-git 4.r18.3157ade-1 (0) 
 Per-file options and keybindings for mpv
[...]

We can also view information of a package in AUR or official repositories.

$ yay -Si mplayer
No request type/data specified.
[sudo] password for sk: 
Repository : extra
Name : mplayer
Version : 37916-2
Description : Media player for Linux
Architecture : x86_64
URL : http://www.mplayerhq.hu/
Licenses : GPL
Groups : None
Provides : None
Depends On : desktop-file-utils ttf-font enca libxss a52dec libvpx lirc libx264
 libmng libdca aalib libxinerama smbclient jack libmad libcaca
 libxxf86dga faac faad2 libxvmc mpg123 libcdio-paranoia rtmpdump
 libdvdnav ffmpeg
Optional Deps : None
Conflicts With : None
Replaces : None
Download Size : 2.15 MiB
Installed Size : 4.98 MiB
Packager : Maxime Gauduin <[email protected]>
Build Date : Mon 27 Mar 2017 12:44:49 AM IST
Validated By : MD5 Sum SHA-256 Sum Signature

To update all packages from AUR and official repositories, use -Syu flag.

$ yay -Syu

A good feature of yay is if you pass this command with no operation, then it will displays menu for package install selection.

For instance, when I run the following command (Note that there is no operation specified), it shows me the menu for package selection.

$ yay mplayer

I had to type a number to install the respective package. Also, we can specify multiple packages with a space separation.

To install any packages without confirmations (without user interventions, of course), use "--noconfirm" option.

$ yay -S --noconfirm <package-name>

To print the list of packages that needs to be updated, run:

$ yay -Pu
pywebkitgtk 1.1.8-3 -> 1.1.8-5
webkitgtk2 2.4.11-6 -> 2.4.11-12

To remove unwanted dependencies, use -Yc flag as shown below.

$ yay -Yc
[sudo] password for sk: 
checking dependencies...
warning: dependency cycle detected:
warning: lib32-mesa will be removed after its lib32-libglvnd dependency

Packages (34) deepin-qml-widgets-2.3.6-1 go-tools-2:1.10+2306+25101aad-1
gobject-introspection-1.56.1-1 gperf-3.1-1 js-24.2.0-4 lib32-icu-61.1-1
lib32-libdrm-2.4.92-1 lib32-libelf-0.171-1 lib32-libglvnd-1.0.0-1
lib32-libpciaccess-0.14-1 lib32-libxdamage-1.1.4-3 lib32-libxfixes-5.0.3-1
lib32-libxml2-2.9.8-2 lib32-libxshmfence-1.3-1 lib32-libxxf86vm-1.1.4-2
lib32-llvm-libs-6.0.1-1 lib32-lm_sensors-3.4.0-1 lib32-mesa-18.1.3-1
lib32-ncurses-6.1-1 lib32-readline-7.0.003-1 lib32-wayland-1.15.0-1
muparser-2.2.5-3 python-beaker-1.10.0-1 python-dae-1.0.2-1
python-docutils-0.14-1 python-jieba-0.39-1 python-mako-1.0.7-1
python-markupsafe-1.0-1 python-sip-4.19.12-4 python-xlib-0.23-1
python2-sip-4.19.12-4 rust-1:1.27.1-1 setconf-0.7.5-2 sip-4.19.12-4

Total Removed Size: 533.82 MiB

:: Do you want to remove these packages? [Y/n] y

For more details about yay, refer man pages.

$ man yay

As far as I tested, Yay is fully functioning and works well. I think I am going to stick with Yay for a while.

Resource:

Thanks for stopping by!

Help us to help you:

Have a Good day!!

You May Also Like

14 comments

changelings August 10, 2018 - 9:09 pm

so uhm basically,
“Yay – Yet another Yaourt” ?
So this actually means, that there’s nothing wrong with Yaourt.

I’ve been using yaourt just fine for like 8 years now !, while literally watching every other AUR helper die by the roadside.
Yaourt is still good, and has stably outlasted them all, in Arch.

This is why Linux can be so silly and confusing to most (Client) Users.
But lol, whatever, “Yay” eh ?

Reply
sk August 11, 2018 - 10:29 am

Yaourt may or may not work. That’s not the point. The thing is the development has been stopped and it is not recommended to use the unmaintained AUR helper anymore. https://wiki.archlinux.org/index.php/AUR_helpers#Discontinued_or_problematic

Reply
whislock August 16, 2018 - 6:13 pm

yaourt has sucked for ages. It doesn’t cleanly build, unreliable solver, can’t handle split packages, etc. Do yourself a favor and find something better.

Reply
Sundaram September 13, 2018 - 12:11 am

Thanks for this detailed write-up showing the various options cleanly. It’s helpful.

Reply
noah akers September 20, 2018 - 9:32 pm

==> ERROR: Failure while downloading

Reply
Jens December 25, 2018 - 8:41 pm

There is also a yay-bin package in the aur,so you don’t have to install the 400M go-compiler.

Reply
Vittorio May 22, 2019 - 3:15 pm

How do you get colored screen like shown up there

Reply
sk May 22, 2019 - 8:16 pm

It is Deepin Desktop Environment. I have installed Deepin DE in Arch Linux.

Reply
Gaidaros October 3, 2019 - 6:58 pm

Or you can simple enable(uncomment) the `Color` parameter on /etc/pacman.conf.

Reply
Behrouz December 3, 2019 - 7:14 pm

Lots of people who need this help are actually new Linux users or people who used to use another distro. You should tell them to install dependencies like base-devels and binutils unless they face problems.

Reply
Ilmi April 18, 2020 - 1:37 pm

Dear author,

Can i please create the version of this content? I’ll make sure the source to be really obvious.

EDIT : the video* version of this content

Reply
sk April 18, 2020 - 2:49 pm

Yes, sure. But don’t copy/paste it line by line. Rewrite it with your own words and mention our guide as source.

Reply
Melahi August 13, 2020 - 5:40 pm

I couldn’t complete the makepkg , but have no idea what the error message means

[[email protected] ~]$ git clone https://aur.archlinux.org/yay.git
Cloning into ‘yay’…
remote: Enumerating objects: 331, done.
remote: Counting objects: 100% (331/331), done.
remote: Compressing objects: 100% (241/241), done.
remote: Total 331 (delta 87), reused 330 (delta 87), pack-reused 0
Receiving objects: 100% (331/331), 69.10 KiB | 191.00 KiB/s, done.
Resolving deltas: 100% (87/87), done.
[[email protected] ~]$ cd yay
[[email protected] yay]$ makepkg -si
==> ERROR: Cannot find the fakeroot binary.
==> ERROR: Cannot find the strip binary required for object file stripping.

Reply
sk August 13, 2020 - 6:07 pm

Install base-devel package and try again.

sudo pacman -S base-devel

Reply

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More