Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save dannysmith/8332291 to your computer and use it in GitHub Desktop.
Save dannysmith/8332291 to your computer and use it in GitHub Desktop.
#!/bin/bash
# CentOS rbenv system wide installation script
# Forked from https://gist.github.com/1237417
# Installs rbenv system wide on CentOS 5/6, also allows single user installs.
#Check ruby is installed.
ruby -v
which ruby
gem list
# Install pre-requirements
yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel \
make bzip2 autoconf automake libtool bison iconv-devel git-core
# Check if Git is installed
hash git 2>&- || {
echo >&2 "Error: Git not found. Hint: Try installing the RPMForge or EPEL package repository.";
exit 1;
}
# Check if /usr/local/rbenv already exists
if [[ -d "/usr/local/rbenv" ]]; then
echo >&2 "Error: /usr/local/rbenv already exists. Aborting installation.";
exit 1;
fi
# Install rbenv
git clone git://github.com/sstephenson/rbenv.git /usr/local/rbenv
# Check if clone succesful
if [ $? -gt 0 ]; then
echo >&2 "Error: Git clone error! See above.";
exit 1;
fi
# Add rbenv to the path
echo '# rbenv setup - only add RBENV PATH variables if no single user install found' > /etc/profile.d/rbenv.sh
echo 'if [[ ! -d "${HOME}/.rbenv" ]]; then' >> /etc/profile.d/rbenv.sh
echo ' export RBENV_ROOT=/usr/local/rbenv' >> /etc/profile.d/rbenv.sh
echo ' export PATH="$RBENV_ROOT/bin:$PATH"' >> /etc/profile.d/rbenv.sh
echo ' eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh
echo 'fi' >> /etc/profile.d/rbenv.sh
chmod +x /etc/profile.d/rbenv.sh
# Install ruby-build globally (rather than as a plugin see ruby-build README):
pushd /tmp
rm -rf /tmp/ruby-build
git clone git://github.com/sstephenson/ruby-build.git
# Check if clone succesful
if [ $? -gt 0 ]; then
echo >&2 "Error: Git clone error! See above.";
exit 1;
fi
cd ruby-build
./install.sh
popd
# Install rehash plugin
cd /usr/local/rbenv/plugins
git clone git://github.com/sstephenson/rbenv-gem-rehash.git
echo '---------------------------------'
echo ' rbenv installed system wide to /usr/local/rbenv'
echo ' Remember to restart your shell for the changes to take effect!'
echo '---------------------------------'
# Install rubies
rbenv install 1.9.3-p484
rbenv install 2.0.0-p353
rbenv rehash
rbenv global 2.0.0-p353
# Restart the shell
exec $SHELL
# Install generic ruby libs for 2.0
ruby -v
gem update --system
gem install hirb wirble bundler pry
# Install generic ruby libs for 1.9
pushd /tmp
rm -rf temp-foo
cd temp-foo
rbenv local 1.9.3-p484
gem update --system
gem install hirb wirble bundler pry
popd
gem list
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment