Forked from jpfuentes2/rbenv-install-system-wide.sh
Last active
January 2, 2016 16:49
-
-
Save dannysmith/8332291 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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