2012-03-04 7 views
5

Sto usando Lion. Ho un errore che emette ad ogni nuova sessione terminale:Come posso sbarazzarmi di qualcosa che gira su ogni nuova sessione di terminale?

-bash: __rvm_add_to_path: command not found 

Si tratta di un nuovo account utente quasi nuovo di zecca .. RVM è installato sul l'altro account sulla macchina .. ~/.bashrc & ~/.bash_profile sono sia in bianco .. il mettere fuori di ENV è:

TERM_PROGRAM=Apple_Terminal 
SHELL=/bin/bash 
TERM=xterm-256color 
TMPDIR=/var/folders/ry/8zsyknmx7dj4_2zzvn1n71500000gn/T/ 
Apple_PubSub_Socket_Render=/tmp/launch-jsfKPw/Render 
TERM_PROGRAM_VERSION=303 
TERM_SESSION_ID=3EBC0F1A-9867-41E5-8873-75E84B9F712F 
USER=incorvia 
COMMAND_MODE=unix2003 
SSH_AUTH_SOCK=/tmp/launch-ZQqgPj/Listeners 
Apple_Ubiquity_Message=/tmp/launch-u3d1lp/Apple_Ubiquity_Message 
__CF_USER_TEXT_ENCODING=0x1F5:0:0 
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin 
PWD=/bin 
LANG=en_US.UTF-8 
HOME=/Users/incorvia 
SHLVL=1 
LOGNAME=incorvia 
DISPLAY=/tmp/launch-0B0I8s/org.x:0 
_=/usr/bin/env 

non vedo nulla relative al RVM qui .. dove altro posso guardare?

=====

/etc/bashrc

# System-wide .bashrc file for interactive bash(1) shells. 
if [ -z "$PS1" ]; then 
    return 
fi 

PS1='\h:\W \u\$ ' 
# Make bash check its window size after a process completes 
shopt -s checkwinsize 
# Tell the terminal about the working directory at each prompt. 
if [ "$TERM_PROGRAM" == "Apple_Terminal" ] && [ -z "$INSIDE_EMACS" ]; then 
    update_terminal_cwd() { 
     # Identify the directory using a "file:" scheme URL, 
     # including the host name to disambiguate local vs. 
     # remote connections. Percent-escape spaces. 
     local SEARCH=' ' 
     local REPLACE='%20' 
     local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}" 
     printf '\e]7;%s\a' "$PWD_URL" 
    } 
    PROMPT_COMMAND="update_terminal_cwd; $PROMPT_COMMAND" 
fi 

=========

fisso ...

Nel profondo del mio/etc/profile era source /etc/profile.d/rvm.sh

Non so come ci sia arrivato ...

+0

Hai visto '/ etc/bashrc'? – simont

+0

Ho aggiunto l'output del mio/etc/bashrc – Inc1982

+0

Controllare [questo collegamento] (http://www.linuxfromscratch.org/blfs/view/6.3/postlfs/profile.html) per altri posti; '/ etc/profile' forse? È più probabile che sia una configurazione globale di una specifica dell'utente. – simont

risposta

11

Bash carica una serie di file durante l'avvio. Una buona panoramica del processo di avvio bash può essere trovata here.

In generale, le impostazioni globali, /etc/profile, /etc/bashrc, e le impostazioni personalizzate associate, ~/.profile e ~/.bashrc sono stati caricati, anche se è un po 'la distribuzione-dipendente (e su Mac OS X, per esempio, per impostazione predefinita /etc/profile non esiste).

Dalla pagina RVM Installation:

Multi-User:

La funzione RVM sarà configurato automaticamente per ogni utente del sistema se si installa come root. Ciò si ottiene caricando /etc/profile.d/rvm.sh all'accesso. La maggior parte delle distribuzioni Linux ha come impostazione predefinita l'analisi di/etc/profile che contiene la logica per caricare tutti i file che si trovano nella directory /etc/profile.d/. Dopo aver aggiunto gli utenti che si desidera poter utilizzare RVM al gruppo rvm, questi utenti DEVONO uscire e rientrare per ottenere l'appartenenza al gruppo rvm poiché le appartenenze ai gruppi vengono valutate dal sistema operativo solo al momento dell'accesso iniziale.

Suppongo che l'altro utilizzo sia stato installato nella modalità Multi-User; /etc/profile carica probabilmente /etc/profile.d/rvm.sh.

per fermarlo viene caricata, è possibile rimuovere la linea source RVM da /etc/profile - questo lo fermerà essere caricato per tutti gli utenti, però.

4

per l'account che ha avuto un profilo di lavoro, ho avuto il seguente .rvmrc:

[email protected]:~# cat .rvmrc 
export rvm_prefix="/usr/local/lib/sc" 
export rvm_path="/usr/local/lib/sc/rvm" 

per ottenere l'errore di andare via per i miei altri account, ho semplicemente copiato questo file per gli altri conti e fissa le autorizzazioni (chown johndoe: johndoe /home/johndoe/.rvmrc) ...

1

In Ubuntu 12.04, per impostazione predefinita, /etc/profile.d/rvm.sh non verrà caricato all'avvio di un nuovo terminale. Così ogni volta, quando si inizia un nuovo termail, cmd come segue deve essere utilizzato per avviare RVM:

source /etc/profile.d/rvm.sh 

E ci sono due modi per risolvere il problema:

  1. aprire una nuova Terminal-> destra fare clic e selezionare Profili-> Preferenze profilo-> Titolo e comando-> selezionare "Esegui comando come shell di login".

  2. aprire un nuovo Terminal-> cmd eseguono come segue poi il /etc/profile.d/rvm.sh verrà automaticamente caricato in un nuovo terminale:

    echo '[[-s "/ etc/profile.d/rvm.sh "]] & &. "/etc/profile.d/rvm.sh" funzione # Load RVM' >> ~/.bashrc

Come qualche spiegazione here a dire la prima soluzione non è una bella, ma il secondo è suggerito.

Quindi, in senso inverso, se non si desidera che il terminale per eseguire qualcosa in un nuovo terminale, è necessario verificare se il caricamento automatico è percorse dai due modi:

  1. verificare se la "Esegui comando come shell di login" è selezionato e deselezionalo.

  2. aprire il file ~/.bashrc, trovare le righe relative al caricamento della funzione ed eliminarlo.

0

Ho avuto lo stesso file (/etc/profile.d/rvm.sh) da una precedente installazione di rvm. Cancellare quel file ha funzionato anche per me.

Per motivi di completezza, il logout sembra essere necessario.

0

Nella tua /etc/profile cambiare la linea:

source /etc/profile.d/rvm.sh

in:

if [ "${SHELL}" != "/bin/sh" ]; then 
    source /etc/profile.d/rvm.sh 
fi 

Perché?

In Mac OS X la shell di default del superutente (root) è una shell POSIX, non una pura Bash. L'aggiunta di tale condizione disabiliterà rvm per (eventualmente) la shell di emerygency /bin/sh, utilizzata dall'amministratore di sistema. È buono. Se si desidera installare qualcosa utilizzando l'account root, è sempre possibile digitare bash e quindi rvm … in una riga di comando.

0

Debian 6.1 scansiona il file /etc/profile.d/ per tutti i file .sh e li include, quindi non c'è alcun elenco per rvm in nessuno dei profili o file .bashrc da nessuna parte. L'eliminazione di rvm.sh da /etc/profile.d/ risolve questo problema.

0

se si dispone di ZSH o OH-MY-ZSH, è necessario rimuovere la fonte /etc/profile.d/rvm.sh da /etc/zprofile

Problemi correlati