Created
March 8, 2012 19:47
-
-
Save jpfuentes2/2002954 to your computer and use it in GitHub Desktop.
CentOS: rbenv install and system wide install
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. | |
# 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: | |
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 | |
echo '---------------------------------' | |
echo ' rbenv installed system wide to /usr/local/rbenv' | |
echo ' Remember to restart your shell for the changes to take effect!' | |
echo '---------------------------------' |
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 installation script | |
# Forked from https://gist.github.com/1237417 | |
# Installs rbenv to user home on CentOS 5/6. | |
if [[ -d "${HOME}/.rbenv" ]]; then | |
echo >&2 "Error: ${HOME}/.rbenv already exists. Aborting installation."; | |
exit 1; | |
fi | |
# Install rbenv | |
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv | |
# Add rbenv to the path | |
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile | |
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile | |
echo '---------------------------------' | |
echo " rbenv installed to $HOME/.rbenv" | |
echo ' Remember to restart your shell for the changes to take effect!' | |
echo '---------------------------------' |
Thank you so much!
Thanks! I had to add
export PATH=$PATH:/usr/local/bin
just before installing rubies.
awesome. Saved me a million hassles with RVM
Thanks!
it worked perfectly in Centos 6.2
default, only root can gem install xxx, but it's good enough for me.
Why not add source ~/.bash_profile to the end of the script? or also just run the export and eval?
@sigull for the second one; that'd make sense. I think for the other one; you'd have to restart the shell since source ~/.bash_profile
wouldn't invoke a full reload.
Sorry, how do you run this script without sprinkling sudo all over the place? Isn't /usr/local usually owned by root?
sudo -v
= problem solved
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm not sure, but I think you meant psiconv-devel, because no package named iconv-devel is in epel or the standard repos.