How to remove complete RVM from system with .bashrc and .bash_profile - ruby-on-rails

I have some issue with my current RVM. I am not able to upgrade it and also not able to install new ruby version. I am also not able to install new gems in my system as on bundle install it returns rubygems error(getaddrinfo-error).
Please suggest me right direction to remove it and reinstall it safely.
Thanks

rvm implode
From the rvm 'documentation':
(seppuku) removes the rvm installation completely.
This means everything in $rvm_path (~/.rvm || /usr/local/rvm).
This does not touch your profiles. However, this means that you must
manually clean up your profiles and remove the lines which source RVM.
So I'd say you execute rvm implode and then remove every rvm related line you inserted in .bash_profile, .profile, .bashrc etc.

Type these commands:
cd ~
rm -rf .rvm
Those will move you to your home directory, and remove the current ~/.rvm directory.
At that point, you can reinstall RVM without needing to remove the initializers from your .bashrc or .bash_profile files.
It's important to understand RVM's installation process, so I strongly suggest you read through that document before you reinstall.

Related

Remove RVM, Ruby and gems completely?

I had to downgrade Rails and now the gems, the versions, and everything, are completely messed up and I feel like jumping from my window.
I just want to destroy everything related with RVM, Ruby and gems to make sure I make a 100% clean reinstallation.
How can I do that?
Linux and installed as regular user ? Than all you need to do is:
rm -Rf ./.rvm
rm -Rf ./.gem
rm -f ./.gemrc
You can also check ~/.bashrc and ~/.bash_profile files for lines like this:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
This should be enough. If you've installed it in some custom way then try this:
$ rvm list # to see what version you have installed
$ rvm gemdir # to see where are gemfiles located
There is something like rvm remove as well but, if you want to just remove all, than it's not very interesting I think.
If you have installed everything via rvm a simple
rvm implode
will remove all traces of rvm including rubies and gems. Even (as far as I remember, I'm not testing it right now) the shell files are updated.
rvm implode which removes all ruby installations rvm manages, everything in ~/.rvm

How to reinstall RVM

I'm trying to do the One Month Rails program. After doing some research on some warnings, I damaged my Ruby and Rails installation. I uninstalled RVM, Ruby and Rails and messed up everything.
Opening a new terminal directly gives me:
Last login: Wed Aug 21 23:04:17 on ttys001
-bash: /Users/marcboehle/.rvm/scripts/rvm: No such file or directory
I tried to uninstall RVM, and everything else and wanted to start from scratch but with every new installation of RVM, Ruby and Rails it leads to the same errors.
The next thing is:
Upgrading the RVM installation in /usr/local/rvm/
Can not automatically remove lines with 'rvm_autolibs_flag=' from '/etc/rvmrc', please clean it manually.
Found 4800 directories with mode different then '775', use `--debug` to see the list, prefix the command with 'rvmsudo' to fix it, if the situation persist report a bug.
Found 18220 files with mode different then '664' or '775', use `--debug` to see the list, prefix the command with 'rvmsudo' to fix it, if the situation persist report a bug.
Upgrade of RVM in /usr/local/rvm/ is complete.
lab037:~ username$ rvm install
Warning! PATH is not properly set up, '/usr/local/rvm/gems/ruby-1.9.2-p320/bin' is not at first place,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-1.9.2-p320'.
Can not use or install 'all' rubies.
Is there a good way to get rid of everything that's connected to Ruby, Rails and RVM and start from the beginning with a fresh installation? I can't figure out where /etc/rvmrc is.
The shell problems that you're having come from /Users/marcboehle/.profile or /Users/marcboehle/.bash_profile. Those will contain the directives for RVM. For example here's mine:
brambook-pro-2:~ bram$ more ~/.bash_profile
export PATH=/Users/bram/.rvm/bin:/usr/local/mysql/bin:$PATH
$HOME/.rvm/scripts/rvm
You'll want to remove the PATH items that contain RVM, then follow the installation instructions and see what you get.

Installing Ruby through RVM on Ubuntu 10.04.1 LTS

I can't seem to get Ruby installed on my Ubuntu 10.04.1 LTS machine. I tried several different tutorials, and none of them worked. It seems like I can install RVM correctly using the command \curl -L https://get.rvm.io | bash -s stable. I do get this warning, though:
* WARNING: Your '/root/.bashrc' contains `PATH=` with no `$PATH` inside, this can breakRVM,
for details check https://github.com/wayneeseguin/rvm/issues/1351#issuecomment-10939525
to avoid this warning append #PATH.
When I try to run rvm install 1.9.3 I get the following and ruby doesn't install.
Downloaded archive checksum did not match, archive was removed!
If you wish to continue with not matching download add '--verify-downloads 2' after the command.
There has been an error fetching the ruby interpreter. Halting the installation.
I tried adding --verify-downloads 2, but that also didn't work.
I eventually want to install rails but, of course need to install ruby first.
Edit:
I also get /usr/local/rvm/scripts/functions/support: line 170: cd: /path/to/tarballs/: No such file or directory when trying to install ruby.
You should not work as root, this is insecure and you can easily get bitten by it, start using user accounts for work/deployment. You can remove the current installation with:
rm -rf /usr/local/rvm /etc/rvmrc /etc/profile.d/rvm.sh
The warning you get happens because in /root/.bashrc there is PATH=... it is intended to be there, you should just not use root account directly (look 1.)
The checksums problems: it was caused by manually downloaded/build ruby archive, rvm will prevent those unless you specify the flag (--verify-downloads 2) which means you trust the archive with not matching checksum.
For the cd issue: you have a file /etc/rvmrc or /root/.rvmrc which specifies rvm_archives_path=/path/to/tarballs - make sure to remove it (it could be gone already after 1.).
It looks like you missed the step of adding the path to your rvm/bin directory in your .bashrc or .bash_profile. Either one will work, here I'm using ~/.bashrc. Add the following line to the end of your ~/.bashrc and reload ~/.bashrc then give it a try.
# .bashrc
export PATH=$PATH:/usr/local/rvm/bin # This is default path
To reload your ~/.bashrc
$ source ~/.bashrc

Ruby on Rails error, Ruby was not installed but it is installed

I have followed this thread and followed Linuxios' answer, everything was working fine but then I get
-bash: export: `[[': not a valid identifier
-bash: export: `-s': not a valid identifier
-bash: export: `/Users/duaneadam/.rvm/scripts/rvm': not a valid identifier
-bash: export: `]]': not a valid identifier
So, I went and removed from .bash__profile via Terminal.
export PATH=$PATH:/usr/local/git/bin/ [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
.. thinking that lines of code is the problem but what I get after that is even worse. For some reasons.. Ruby is not installed.. again.
So, I re-added the lines of code and tried rebooting/restarting my Mac but problem still persist.
Screenshots:
.bash_profile:
Solution please? I even tried re-installing using his method.
Gosh, this is hard maybe Ruby on Rails isn't just for me.
Setting up ruby with rvm can get pretty complicated at times.
A few golden rules is never to sudo when using a package manager like rvm.
Try the following:
rvm implode (This essentially removes the rvm installation
completely.)
Remove all references of rvm from ~/.bash_profile and ~/.bashrc
which ruby (The output should be something like /usr/bin, also ruby --version should be 1.8.7, the default bundled with OS X.)
Install rvm again in a single user mode.
Install the ruby version of your choice.
Make sure to create the .rvmrc file where ever the ruby program resides. (Typical contents of .rvmrc -> rvm use ruby-version#gemset-name --create; eg: rvm use 1.9.3#my-awesome-project --create)
cd into the directory with .rvmrc
Make sure the right gemset is loaded with rvm gemset list
Also ensure that rvm is loaded as a function. (You can verify this by typing type rvm | head -1 in the console.)
Some more points, which were helpful to me from http://jfire.io/blog/2012/03/02/xcode-4-dot-3-homebrew-and-ruby/:
Install apple-gcc42, autoconf and automake (Using a package manager like homebrew can be useful.)
Also rvm requirements tells you what are the other tools you need to install.
Cheers!

Cannot install RVM . Permission denied in /usr/local/rvm

Based on my previous thread : RVM installed by Ruby not working? where i had installed RVM using the root user, I then had to entirely remove the RVM install and now i am installing as a user.
So i did :
Create a new user by doing : useradd newuser
Follow the instructions on the RVM website and execute the command : bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
Now, i get the error : mkdir: cannot create directory `/usr/local/rvm': Permission denied
The new user i created does not have access to this directory. I manually tried creating the folder but the same error. Please help.
EDIT : The original problem occured because i did not restart the terminal and it was still using the old settings.
Now, I got a new problem : After installing RVM, i cannot run it and it gives me an error : rvm command not found.
Here is the output of my ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.
And here is output from ~/.bashrc file
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.
mkdir: cannot create directory `/usr/local/rvm': Permission denied
If you've run the rvm installer as root previously, remove /usr/local/rvm and /etc/rvmrc.
RVM is easy to install, but you are making it harder by trying to mix and match installation types. You do NOT need to create a new user. When run, RVM will create a directory in your home directory: ~/.rvm, and install everything inside it. That means you will have all the correct permissions. You do NOT need to be running as root, you do NOT need to use sudo. I'd recommend closing all your command-lines and open one fresh and start at your home directory. If you are running as root, log out, and log back in to your normal account. For a single-user install you do NOT need to be root.
For a single user, using RVM as their Ruby sandbox, use the single-user installation docs. Follow ALL the instructions on that page, INCLUDING the "Post Install" section.
Close your terminal window, and reopen it. If you have correctly followed the instructions above, typing rvm info should spit out a template of what is to come once you install a Ruby instance. If you see nothing output, or get an error, then retrace your steps in the "Post Install" section, and go through the "Troubleshooting" section. Most of the problems people have occur because they didn't bother to read the directions.
Once RVM is installed, type rvm notes and read what dependencies you need to install. If you do not add those files your Rubies installed will be missing functionality. They will work, but some of the creature comforts you'll hear about won't work and you will wonder why.
After installing the dependencies you should be in good shape to install Rubies. Type rvm list known for all the Rubies RVM can install. If you want 1.8.7 type rvm install 1.8.7, and, similarly, rvm install 1.9.2 for Ruby 1.9.2. If you want a particular revision you can add that, based on the ones in the list.
It's important to periodically update RVM using rvm get head. That will add features, fix bugs, and tell RVM about new versions of Ruby it can install if you request.
After installing a Ruby, type rvm list and it should show up in the list, looking something like this:
rvm rubies
ruby-1.8.7-p334 [ x86_64 ]
ruby-1.9.2-p180 [ x86_64 ]
Type rvm use 1.9.2 --default to set a default Ruby that will be sticky between logins. Use the version of whatever Ruby you want to default to if 1.9.2 doesn't float your boat. Once you've defined a default it should look something like:
rvm rubies
ruby-1.8.7-p334 [ x86_64 ]
=> ruby-1.9.2-p180 [ x86_64 ]
Before you begin installing gems into a RVM-managed Ruby, read "RVM and RubyGems ", in particular the part that says "DO NOT use sudo... ". I repeat. Do NOT use sudo to install any gems, in spite of what some blog or web page says. RVM's author knows better when it comes to working with RVM controlled Rubies. That is another mistake people use with RVM, again as a result of not reading the directions.
On Mac OS, you'll need the latest version of XCode for your OS. Do NOT use the XCode that came with Snow Leopard on the DVD. It is buggy. Download and install a new version from Apple's Developer site. It's a free download requiring a free registration. It's a big file, approximately 8GB, so you'll want to start it and walk away. Install XCode, and you should be ready to have RVM install Rubies.
Finally, RVM installs easily, as will the Rubies you ask it to install. I have it on about four or five different machines and VMs on Mac OS, Ubuntu and CentOS. It takes me about a minute to install it and another minute to configure it and start installing a new Ruby. It really is that easy.
I had the original issue reported in this question, "mkdir: cannot create directory `/usr/local/rvm': Permission denied" when trying to install rvm.
This is my scenario and how I solved it - maybe this will help others with this same issue.
I have Ubuntu 11.04 installed on a laptop, I only have 1 user, the one I created at install time, named nathan. When I would try to install rvm as nathan, the rvm installer saw me as root and kept trying to install rvm globally, but since I wasn't really root, it couldn't get access to create directories in /usr/local/rvm.
I'm far from an expert with Ubuntu, so I'm sure there are easier/better ways to accomplish the things I did (and I would love to learn about them), but this worked for me:
I created a new user called rubydev
I logged in as rubydev, opened a terminal and typed:
rubydev~$ bash < <(curl -B http://rvm.beginrescueend.com/install/rvm)
rvm installed correctly and I logged out of rubydev
Signed back in as nathan, opened a terminal and typed "su" (you could do all this with sudo, I am lazy)
After successfully getting root, I typed the following commands:
root: /home/nathan# cp -R /home/rubydev/.rvm .
root: /home/nathan# chown -R nathan .rvm
root: /home/nathan# chgrp -R nathan .rvm
root: /home/nathan# exit
nathan~$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
nathan~$ echo 'export rvm_path="/home/nathan/.rvm"' > ~/.rvmrc
nathan~$ source .bash_profile
At this point, rvm was correctly installed under my home directory. To verify I typed:
nathan~$ type rvm | head -1
rvm is a function (if you don't get this response, something else is wrong)
Read the notes and installed any dependencies
nathan~$ rvm notes
I installed some rubies
nathan~$ rvm install 1.8.7-head
nathan~$ rvm install 1.9.2-head
Verified install
nathan~$ rvm list
rvm rubies
ruby-1.8.7-head [x86_64]
ruby-1.9.2-head [x86_64]
nathan~$ rvm use 1.9.2
using /home/nathan/.rvm/gems/ruby-1.9.2-head
nathan~$ rvm list
rvm rubies
ruby-1.8.7-head [x86_x64]
=> ruby-1.9.2-head [x86_x64]
Finally, I edited the preferences on the terminal itself to ensure the "Run command as as login shell" under the "Title and Command" tab was checked. It seems .bash_profile isn't otherwise processed.
I removed the rubydev user I created in step 1.
With all of that, I have a working rvm under Ubuntu 11.04 using my preferred username.
I solved this by adding
export rvm_path=~/.rvm
to ~/.bash_profile
If you first installed RVM as root and then uninstalled it. And now you are trying to install it as a non sudo user and you're getting the following error:
mkdir: cannot create directory `/usr/local/rvm': Permission denied
Make sure that you have logged out of the root session before trying to install under the user.
If you installing RVM as a user then the RVM folder should be generated in your home directory:
~/.rvm
Where there should be no permissions problems at all.
I would suggest it is picking up some old config that is left over from your system installation.
Ensure there is no /etc/rvmrc or $HOME/.rvmrc file left over because it might be using previously initialised variables from these files to construct an incorrect installation path.
if we look at this section of the bash script:
if [[ ${rvm_ignore_rvmrc:-0} -eq 0 ]]; then
for file in /etc/rvmrc "$HOME/.rvmrc " ; do
if [[ -s "$file" ]] ; then
source $file
fi
done
fi
It is trying to find one of these files, if it finds one if will run it possibly initialising rvm_path which will subsequently not be set as $HOME/.rvm by this command
rvm_path="${rvm_path:-"$HOME/.rvm"}"
I had the same issue. When I tried to create a gemset I would get a permission denied error. I just forgot to run the "rvm use 1.8.7" command first. After that I was able to create and use the gemset without any problems.
In lasts versions of rvm you need remove /etc/profile.d/ also.
This happen often if you try to install as root and then try again as a regular user.
Hope this help.
Look for file rvm.sh below /etc directory (It may be in /etc, or /etc/init.d).
Also, try some grep rvm /etc -r, so you can find some files/lines which prevent you from installing rvm in your $HOME dir.
For me running
__rvm_unload
Worked first, this was due to the fact that I had rvm installed as for multiuser.
If you installed rvm as root and you are getting permission denied issues (maybe you are deploying with capistrano as a non root user) then you could try rvm fix-permissions after doing things like rvm install 2.2.2 as root and creating a gemset as root.
Scott Bartell's solution worked for me. i am on a Digital Ocean premade image, where they had already setup rvm as root.
1. deleted /etc/rvmrc .
2. added export rvm_path=~/.rvm to ~/.bash_profile
3. logged out of ssh session to virtual machine
4. logged back in and presto!
would have commented but rep is 3 points too low :)

Resources