¿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í?

mrdavidjcole
fuente
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

fengd
fuente
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/

avelis
fuente
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

iceturk22
fuente
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

Siddhant Raut
fuente
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

mycargus
fuente