I am learning vala. I need to setup vala environment on my elementary OS. How to install Vala on elementary OS?


2 Answers 2


You should check the elementary Development Guide. In the section "Developer SDK" we cover grabbing essential development libraries, including the Vala compiler.

For development tasks, you're going to be spending a lot of time in Terminal. The command we recommend for grabbing these development essentials is:

sudo apt-get build-dep granite-demo

The build-dep part here is short for "build dependencies". This command tells apt to install everything that would be required to build the package granite-demo. That not only includes the Vala compiler, but Gtk+ development libraries and other things that you'll want to have if your goal is to develop apps for elementary OS.

If you only want to get the vala compiler and no other development libraries, you can use the command:

sudo apt-get install valac

Install the vala compiler valac :

  • from software center or

  • with terminal command: sudo apt-get install valac

IDE Support:

There are various projects in various states of stability in order to provide IDE support for Vala:

  • Geany is an integrated development environment with support for vala syntax and code completion.

    Install from software center or with terminal command: sudo apt-get install geany

  • Netbeans - Plugin for the Netbeans IDE for Vala

  • Valencia - Vala plugin for gedit

  • Valama - An IDE with glade editor & symbols navigator

Reference : Vala Tools

Useful resources:

Vala - Documentation

Vala - Compiler for the GObject type system

Vala Programming

Vala Tutorial

elementary docs

  • 1
    I believe part of this answer is bad advice. Please don't force the installation of a different version as intended by the distribution (and enforced by apt pinning).
    – embik
    Commented Dec 12, 2015 at 20:51
  • "believe"?? I can only say silly askubuntu.com/questions/135339/…
    – Ravan
    Commented Dec 13, 2015 at 1:45
  • @embik IMHO its better if you explain, why? instead of using believe.(No one care about someone's belief, but cares facts)
    – Ravan
    Commented Dec 13, 2015 at 1:58
  • Embik is right. Pinning wouldn't be done without a reason. In this case, after 0.28 the way concurrent versions are handled has changed and if you're unable to compile an app with 0.30 (because of dependency conflicts), it's not as simple to compile with an earlier version. Commented Dec 13, 2015 at 5:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.