¿Cómo modificar PATH para Homebrew?


150

Intentando instalar ruby ​​1.9.3, lea que primero necesito instalar homebrew. Ran preparó al doctor, y me está dando muchas advertencias. Uno de los cuales es:

Advertencia: / usr / bin ocurre antes de / usr / local / bin Esto significa que se utilizarán los programas proporcionados por el sistema en lugar de los proporcionados por Homebrew. Las siguientes herramientas existen en ambas rutas:

easy_install
easy_install-2.6

Considere enmendar su RUTA para que / usr / local / bin esté por delante de / usr / bin en su RUTA.

¿Cómo se hace lo que está pidiendo aquí?


1
La respuesta de @AristotlePagaltzis en SuperUser ofrece la mejor solución en mi opinión, permitiendo que las aplicaciones de su sistema continúen usando /usr/bin, mientras que hace un enlace simbólico selectivo con los ejecutables de Homebrew que desea usar en lugar de las versiones enviadas por Apple, como Git.

@mrdavidjcole: fengd no respondió esa pregunta?
— fotinsky

Stack Overflow es un sitio para preguntas de programación y desarrollo. Esta pregunta parece estar fuera de tema porque no se trata de programación o desarrollo. Consulte los temas sobre los que puedo preguntar aquí en el Centro de ayuda. Quizás Super User o Apple Stack Exchange sería un mejor lugar para preguntar. Consulte también ¿Dónde publico preguntas sobre Dev Ops? .
— jww

Respuestas:


299

abra su archivo / etc / path, ponga / usr / local / bin encima de / usr / bin

$ sudo vi /etc/paths
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin

y reinicie la terminal , @mmel


9
Vuelva a cargar el entorno o inicie una nueva terminal después de realizar este cambio.
— mmell

44
No estoy de acuerdo con esto: debería usar la siguiente respuesta: la máquina del tiempo, etc., no recogerá este cambio, creo que está fuera de la carpeta de usuario.
— Ian Warner

Esta es también la mejor solución que he encontrado si su problema es que RVM y Homebrew parecen competir por los mismos bienes inmuebles en su archivo .bash_profile.
— MCB

NO editaría / etc / caminos; en su lugar, use los métodos .profile / .bash_profile descritos en otra parte (por ejemplo, respuesta de @avelis a continuación o para un enfoque más paranoico, vea el primer comentario que hace referencia a la respuesta de AristotlePagaltzis en SuperUser.
— rholmes

1
Puede intentar usar el editor de texto de nano terminal en lugar de via. Encontré que esto es más fácil de usar. "sudo nano / etc / path" en lugar de "sudo vi / etc / path".
— tbradley22

78

Hay muchas formas de actualizar su ruta. La primera respuesta funciona muy bien. Otro método es aumentar su .bash_profiletener:

export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

La línea de arriba coloca /usr/local/biny /usr/local/sbinen frente de su $PATH. Una vez que obtiene su fuente.bash_profile o inicia un nuevo terminal, puede verificar su ruta haciéndola eco .

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/Users/<your account>/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Una vez satisfecho con el resultado que se ejecuta $ brew doctornuevamente, ya no debería producir su error.

Esta publicación de blog me ayudó a resolver los problemas que encontré. http://moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/


2
@JanuszChudzynski Para la solución de Jun1st, es posible que deba reiniciar la sesión de línea de comandos para ver el cambio.
— avelis

Versiones recientes de homebrew day: considere configurar su RUTA para que / usr / local / bin ocurra antes de / usr / bin. Aquí está una sola línea:echo export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile . Que es básicamente lo que sugiere esta respuesta.
— nacho4d

Sin embargo, dudo que sea el camino correcto. Vea a continuación: Antes del cambio: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bincambio: echo export PATH="/usr/local/bin:$PATH >> ~/.bash_profileDespués del cambio: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin Esto significa que si no se encuentra un comando en / usr / local / bin, podría buscarse dos veces antes de encontrarse en otra ruta. Creo que es mejor cambiar el /etc/pathsarchivo
— nacho4d

$ echo 'export PATH = "/ usr / local / bin: $ PATH"' >> ~ / .bash_profile me da $ PATH "'>> ~ / .bash_profile -bash: $: comando no encontrado
— Mamba

@rpeg Estoy seguro de que si busca tutoriales en la web, hay una gran cantidad de recursos, pero aquí hay uno que conozco. linux.com/learn/tutorials/272346-bash-101-working-at-the-cli
— avelis

20

Simplemente ejecute la siguiente línea en su aplicación de terminal favorita:

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

Reinicia tu terminal y ejecuta

brew doctor

el problema debe resolverse


3
Si está utilizando zsh, use este comando echo 'export PATH = "/ usr / local / sbin: $ PATH"' >> ~ / .zshrc
— kareem

1

abrir perfil bash en textEdit

abrir -e .bash_profile

Edite el archivo o péguelo delante de PATH export PATH = / usr / bin: / usr / sbin: / bin: / sbin: / usr / local / bin: / usr / local / sbin: ~ / bin

guardar y cerrar el archivo

* Para abrir .bash_profile directamente abra textEdit> archivo> reciente


0

Para evitar duplicaciones innecesarias, agregué lo siguiente a mi ~ / .bash_profile

case ":$PATH:" in
  *:/usr/local/bin:*) ;;     # do nothing if $PATH already contains /usr/local/bin
  *) PATH=/usr/local/bin:$PATH ;;  # in every other case, add it to the front
esac

Crédito: https://superuser.com/a/580611

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.