Adams-MacBook-Pro% brew doctor                                 

Error: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

    clusterdb
    createdb
    createlang
    createuser
    dropdb
    droplang
    dropuser
    ecpg
    git
    git-cvsserver
    git-receive-pack
    git-shell
    git-upload-archive
    git-upload-pack
    gitk
    pg_config
    pg_dump
    pg_dumpall
    pg_restore
    pg_upgrade
    psql
    reindexdb
    vacuumdb

Consider amending your PATH so that /usr/local/bin
is ahead of /usr/bin in your PATH.

Aquí es mi camino:

Adams-MacBook-Pro% echo $PATH                                  
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Pensé que era peligroso para mover las cosas hacia el frente? ¿Cómo puedo resolver este problema? También, no estoy seguro de dónde encontrar donde /usuario/bin está declarado en el camino.

Gracias

  • Todo el mundo que tiene este problema, por favor, ¿como Homebrew dice y ejecutar echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile Y NO te OLVIDES de reiniciar el Terminal (o cualquier herramienta de línea de comandos que usas) y trate de correr brew doctor de nuevo.
  • Para aquellos que ya tienen /usr/local/bin en su CAMINO, pero no antes de /usr/bin, consulte Lelouchcr la respuesta acerca de la edición de /etc/paths (para mantener su CAMINO más limpio por no tener entradas duplicadas).
InformationsquelleAutor AdamT | 2012-07-04

8 Comentarios

  1. 48

    $PATH es sólo una variable que contiene una cadena. Para poner algo en el frente:

    % PATH=/usr/local/bin:$PATH
    % echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

    Esto no es peligroso, ya que solo se aplica a la shell actual ha abierto (no va a afectar la trayectoria de su sistema o de otros shells).

    Para cambiar la ruta de acceso de forma automática para todos los shells de abrir, poner en ~/.profile. Puede crear este archivo si no existe ya.

    En ~/.profile:

    homebrew=/usr/local/bin:/usr/local/sbin
    export PATH=$homebrew:$PATH

    exportación hace que la variable esté disponible para cualquier niño de los procesos de la concha.

    • hice esto, creó ~/.perfil y, a continuación, de echo $PATH, pero el camino no cambiar. Cerré la terminal y abierto de nuevo, pero todavía era el mismo camino. brew médico todavía se quejan.
    • Para obtener cualquier cambio en ~/.perfil surta efecto, usted tiene que abrir el terminal, o que tipo de % source ~/.profile. En cuanto a por qué no funciona, primero asegúrese de que el archivo se ejecuta como se esperaba. Añadir otra línea a ~/.profile echo 'profile works!', a continuación, ejecute % source ~/.profile. Déjeme saber si usted ve que imprime en la pantalla.
    • También debo señalar que el espacio en blanco que importa aquí. No puede haber espacios en ambos lados del signo igual.
    • sí, se imprime en la pantalla «perfil funciona!». asimismo, el usuario/local/bin está ahora en la parte delantera. brew médico dice: «Su sistema está con muchas ganas de cerveza.» Sin embargo, he quitado «echo ‘perfil obras!’ y ahora el camino está roto de nuevo.
    • Hace lo mismo sucede cuando se abre una nueva terminal (tanto en el mensaje y su camino a ser cambiado)?
    • si se ejecuta el «source ~/.perfil» luego dice: «perfil de las obras» y brew médico es feliz. si cierro el terminal y echo $path y cerveza médico todo lo que es invariable (restos rotos).
    • Pero el mensaje que se imprime? .perfil es un script de init, pero hay algunos otros, y la ruta de acceso puede ser de configuración en uno de ellos. Revise para ver si ~/.bashrc o ~/.alias existen. Si se imprime el mensaje, pero $PATH es sin cambios, a $RUTA se puede empezar por un guión diferente. Si el mensaje no está siendo impreso, entonces .perfil no está aún en ejecución.
    • Uso ~/.bashrc en lugar de ~/.profile.
    • se va a ejecutar. cuando yo siga sus instrucciones imprime el mensaje. sin embargo, al cerrar la terminal y volver a abrir y hacer «brew médico» o simplemente «echo $PATH» puedo ver que el camino no ha sido cambiado.
    • la adición de «homebrew=/usr/local/bin:/usr/local/sbin» y «export PATH=$homebrew:$PATH» para .bashrc no funciona. la ruta sigue siendo la misma y cerveza doctor permanece enojado.
    • Hmmm, la única cosa que puedo pensar es que en algún otro fichero es ejecutado después .perfil/.bashrc que está restableciendo su camino (tal vez .bash_profile o .bash_login. Ejecutar grep -l "PATH=" ~/.* para ver si hay otros archivos en su directorio de inicio de la configuración de la ruta.
    • aquí es lo que tengo:/Users/adam/.bash_profile,/Users/adam/.bashrc, /Users/adam/.viminfo, /Users/adam/.zsh_history, /Users/adam/.zshrc como, El problema es el zshrc como archivo que tiene este: export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin, cuando me mudé /user/local/bin por delante de /usuario/bin, a continuación, el terminal no sabía qué cosa era (brew, mvim, etc.) ¿Y ahora qué hago?
    • yo creo que lo tengo. necesidad de probar un poco para asegurarse de que.
    • Bueno para escuchar. Supuse que estaban usando un shell bash, porque es la predeterminada, pero se ve como puede ser el uso de un z shell en lugar de (usted puede decir por ejecutando echo $SHELL).
    • En lugar de ~/.perfil, he utilizado ~/.bash_profile en OS X Lion
    • Si usted está usando zsh como yo, usted debe cambiar ~/.zshrc en lugar de ~/.profile o ~/.bash_profile.
    • Consulte Lelouchcr la respuesta acerca de la edición de /etc/rutas. Para mí, /usr/local/bin ya estaba en el PATH, no sólo antes de /usr/bin. /etc/paths es donde puedes editar ese orden. (Hago normalmente añadiendo a PATH en mi ~/.bash_profile, como la forma en que esta respuesta se utiliza ~/.profile, pero /usr/local/bin y /usr/bin son especiales.)

  2. 23

    He encontrado otra manera de resolver esto.

    sudo vim /etc/paths

    y agregar /usr/local/bin y /usr/local/sbin como este

    /usr/local/bin
    /usr/local/sbin
    /usr/bin
    /bin
    /usr/sbin
    /sbin

    abrir una nueva pestaña de terminal y, a continuación, verá

    ~ $ env|grep PATH
    PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
    • OMI esta es la forma más limpia para resolverlo. Que realmente se soluciona el problema de fondo, y no poner entradas en el CAMINO dos veces.
    • Esta debe ser la respuesta correcta.
    • Esto funcionó para mí. He intentado lo de cerveza me sugirió, la creación .de perfil, e incluso la modificación de la .bash de forma manual. Por supuesto, me hizo reiniciar el equipo para asegurarse de que no era ese el problema. Nada funcionó, excepto para esta respuesta. Gracias!
    • Esto es exactamente lo que yo quería encontrar, estaba buscando donde encontrar esas entradas fueron en la variable PATH donde procedentes de añadir como lo hizo.
    • De acuerdo, este debe ser aceptado contestar, ya que este a mi me funciono perfectamente.
  3. 10

    Sólo tiene que ejecutar la siguiente línea en su favorito de aplicación de terminal:

    echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile

    Reiniciar el terminal y ejecutar

    brew doctor

    el problema debe ser resuelto

  4. 4

    Acabo de crear una .bashrc archivo y añadió

    homebrew=/usr/local/bin:/usr/local/sbin

    export PATH=$homebrew:$PATH

    Que parecía haber hecho el truco!

    • debe ser /usr/local/bin (no sbin)?
    • Ya esta resuelto para mí – yo estaba usando el zsh tan sólo la edición .o de perfil .bash_profile no iba a funcionar, pero la adición de esas líneas .zshrc como hizo el truco.
  5. 3

    Tal vez OP utilizando zsh.

    La solución es editar el ~/.zshrc como cada vez que abra iterm se carga este archivo.

    Cambiar las palabras acerca de CAMINO.

  6. 2

    Si realmente quieres hacer que sea permanente y por defecto, editar el archivo /etc/caminos (el uso de sudo) y mover /usr/local/bin a la parte superior de la lista.

    En mi propia .bash_profile yo uso un script llamado «pathadd» que impide que mi CAMINO de llegar difíciles de manejar y completo de duplicados cuando conchas son bifurcadas. Así que me tomé el /etc/rutas de acción específicamente para evitar duplicar los directorios en la RUTA de acceso mediante la adición de /usr/local/bin al frente de nuevo y de nuevo.

Dejar respuesta

Please enter your comment!
Please enter your name here