Installing Ronin on Fedora

Copy/Paste Instructions

sudo dnf install -y gcc make ruby-devel ruby-bundled-gems readline-devel sqlite-devel
sudo gem install ronin

Detailed Breakdown

Build Dependencies

First we will need to install gcc and make. These are required to install gems which contain C extensions (aka C bindings) to other C libraries, such as the sqlite3 gem which compiles against libsqlite3.

sudo dnf install -y gcc make

Ruby

Next, we will need to install Ruby >= 3.0.0, which should already be available in your system’s package manager.

sudo dnf install -y ruby-devel ruby-bundled-gems
Note:

ruby-bundled-gems is required for net/ftp, net/imap, net/pop, and net/smtp. For some reason Fedora’s ruby package does not automatically install the ruby-bundled-gems package as a dependency of ruby.

C libraries

Then, we will need to install various C libraries which are used by some of the Ruby gems, such as libsqlite3 which is required by the sqlite3 gem.

sudo dnf install -y readline-devel sqlite-devel

Ronin

Now that everything else is installed, it is time to install Ronin!

sudo gem install ronin

Postinstall

Assuming no errors occur, you should now be able to run ronin:

ronin help

Troubleshooting

Ruby and many ruby gems will not work if the LANG environment variable is not set or set to C. Make sure that LANG is set to a UTF8 language, such as en_US.UTF-8.

If you get an exception saying cannot load such file -- net/ftp when trying to run ronin irb or requiring ronin/support in Ruby, this is because the Fedora ruby-bundled-gems rpm package isn’t installed. You can fix this by running:

sudo dnf install -y ruby-bundled-gems