# Upgrading from 0.28.0 to latest version

**URL:** <https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095>\
**Category:** Help & Support\
**Created:** [September 4, 2019, 12:57pm UTC](https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095 "2019-09-04T12:57:38Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![gummybears](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/gummybears/32/1886_2.png) [@gummybears](https://forum.crystal-lang.org/u/gummybears)\
**Post date:** [September 4, 2019, 12:57pm UTC](https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095/1 "2019-09-04T12:57:38Z")

</div>

Linux mint 18.2 64 bits  
Crystal 0.28.0 [639e4765f] (2019-04-17)  
LLVM: 4.0.0  
Default target: x86\_64-unknown-linux-gnu

Hestitant to upgrade to the latest version of Crystal.  
What is the easiest method to “downgrade” or revert the upgrade and go back to 0.28.0 ?

---

<div class="post-metadata">

**Author:** ![kniknoo](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/kniknoo/32/532_2.png) [@kniknoo](https://forum.crystal-lang.org/u/kniknoo)\
**Post date:** [September 4, 2019, 2:55pm UTC](https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095/2 "2019-09-04T14:55:09Z")

</div>

Add the repo as per the instructions.  
apt upgrade  
If you don’t like the current version, remove the repo from your apt list.  
apt upgrade (you should probably apt purge crystal, but you can likely get away with the lazy way)

---

<div class="post-metadata">

**Author:** ![kniknoo](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/kniknoo/32/532_2.png) [@kniknoo](https://forum.crystal-lang.org/u/kniknoo)\
**Post date:** [September 4, 2019, 2:58pm UTC](https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095/3 "2019-09-04T14:58:36Z")

</div>

If you want to get a bit more detailed, you can request specific versions via apt as well. [https://www.linuxuprising.com/2019/02/how-to-downgrade-packages-to-specific.html](https://www.linuxuprising.com/2019/02/how-to-downgrade-packages-to-specific.html)

But the above way is the quick and dirty apt repo way and how I usually roll.

---

<div class="post-metadata">

**Author:** ![gummybears](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/gummybears/32/1886_2.png) [@gummybears](https://forum.crystal-lang.org/u/gummybears)\
**Post date:** [September 4, 2019, 3:25pm UTC](https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095/4 "2019-09-04T15:25:30Z")

</div>

I will use the second link, as I don’t want to remove the repo from my list.  
Thanks

---

<div class="post-metadata">

**Author:** ![bcardiff](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/bcardiff/32/3_2.png) [@bcardiff](https://forum.crystal-lang.org/u/bcardiff)\
**Post date:** [September 4, 2019, 3:29pm UTC](https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095/5 "2019-09-04T15:29:18Z")

</div>

Downloading from [https://github.com/crystal-lang/crystal/releases](https://github.com/crystal-lang/crystal/releases) and uncompressing the .tar.gz is the easiest way for me. But my use-case is sporadic usage of old versions. As long as you prepend the bin directory into the path you should be good to go.

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [September 4, 2019, 8:32pm UTC](https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095/6 "2019-09-04T20:32:53Z")

</div>

Using docker is also pretty easy. Each version is tagged.

---

<div class="post-metadata">

**Author:** ![watzon](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/watzon/32/481_2.png) [@watzon](https://forum.crystal-lang.org/u/watzon)\
**Post date:** [September 5, 2019, 12:00am UTC](https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095/7 "2019-09-05T00:00:29Z")

</div>

Gonna add my two cents, just use a version manager. I use [asdf](https://github.com/asdf-vm/asdf) which has support for Crystal and several other languages. If you need a specific version of Crystal it’s super easy to just do `asdf local crystal 0.29.0`

---

<div class="post-metadata">

**Author:** ![gummybears](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/gummybears/32/1886_2.png) [@gummybears](https://forum.crystal-lang.org/u/gummybears)\
**Post date:** [September 5, 2019, 7:24am UTC](https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095/8 "2019-09-05T07:24:28Z")

</div>

Just installed asdf (similary to rbenv I think), super easy indeed.  
Installed both version and switched between them to run my tests.  
Thanks for your 2 cents.

---

<div class="post-metadata">

**Author:** ![kniknoo](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/kniknoo/32/532_2.png) [@kniknoo](https://forum.crystal-lang.org/u/kniknoo)\
**Post date:** [September 5, 2019, 12:11pm UTC](https://forum.crystal-lang.org/t/upgrading-from-0-28-0-to-latest-version/1095/9 "2019-09-05T12:11:29Z")

</div>

I didn’t know we had that. Thanks Watzon!
