1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #!/usr/bin/env bash
- # Remove binaries.
- __rvm_implode_binaries()
- {
- # Load inside a subshell to avoid polutting the current shells env.
- (
- source "$rvm_scripts_path/base"
- rvm_log "Removing rvm-shipped binaries (rvm-prompt, rvm, rvm-sudo rvm-shell and rvm-auto-ruby)"
- for entry in "$rvm_bin_path/"{rvm-prompt,rvm,rvmsudo,rvm-shell,rvm-auto-ruby} ; do
- __rvm_rm_rf "$entry"
- done
- rvm_log "Removing rvm wrappers in $rvm_bin_path"
- __rvm_find "$rvm_bin_path" -type l | while read symlinked_rvm_file; do
- if [[ "$(__rvm_readlink "$symlinked_rvm_file")" == "$rvm_wrappers_path/"* ]]; then
- __rvm_rm_rf "$symlinked_rvm_file"
- fi
- done
- unset symlinked_rvm_file
- )
- }
- # Implode removes the entire rvm installation under $rvm_path, including removing wrappers.
- __rvm_implode()
- {
- if
- [[ ${rvm_force_flag:-0} -gt 0 ]] ||
- __rvm_ask_for "Are you SURE you wish for rvm to implode?\nThis will recursively remove $rvm_path and other rvm traces?" yes
- then
- if
- [[ "/" == "$rvm_path" ]]
- then
- rvm_error "remove '/' ?!... Ni!"
- return 1
- elif
- [[ -d "$rvm_path" ]]
- then
- __rvm_implode_binaries
- rvm_log "Hai! Removing $rvm_path"
- for file in /etc/profile.d/rvm.sh $rvm_man_path/man1/rvm.1* $rvm_path/
- do
- __rvm_rm_rf $file || rvm_error "Could not remove '$file', please try removing it manually."
- done
- if
- [[ -e $rvm_path ]]
- then
- rvm_warn "Failed to completely remove $rvm_path -- You will have to do so manually."
- else
- rvm_log "$rvm_path has been removed."
- fi
- if
- [[ "$rvm_path" == "/usr/local/rvm"* && -f "/usr/local/lib/rvm" ]]
- then
- rvm_log "Removing the rvm loader at /usr/local/lib/rvm"
- __rvm_rm_rf /usr/local/lib/rvm
- fi
- rvm_warn "
- Note you may need to manually remove /etc/rvmrc and ~/.rvmrc if they exist still.
- Please check all .bashrc .bash_profile .profile and .zshrc for RVM source lines and delete or comment out if this was a Per-User installation.
- Also make sure to remove \`${rvm_group_name:-rvm}\` group if this was a system installation.
- Finally it might help to relogin / restart if you want to have fresh environment (like for installing RVM again).
- "
- else
- rvm_log "It appears that $rvm_path is already non existant."
- fi
- else
- rvm_log "Psychologist intervened, cancelling implosion, crisis avoided :)"
- return 2
- fi
- }
|