PATH, / usr / local / bin öğesinin / usr / bin önünde olmasını sağlayacak şekilde değiştirildi


24

Brew yüklemeye çalışıyorum ama aşağıdaki uyarıyı alıyorum:

Warning: /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:

2to3
2to3-2.7
idle
idle2.7
pydoc
pydoc2.7
python
python-config
python2.7
python2.7-config
pythonw
pythonw2.7
smtpd.py
smtpd2.7.py

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

Yolu nasıl değiştireceğimi bilemiyorum. Bu yığın taşma gönderisinden birkaç dosya araştırdım (http://stackoverflow.com/questions/8886114/using-brew-with-ruby-1-9-2), ancak düzenlenecek bir relevan yolu bulamıyorum. Sahip olduğum tek dosya şu anda benzeyen / etc / profile dosyam:

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
    PATH="/Library/Frameworks/Python.framework/Versions/2.7/local/bin:${PATH}"
export PATH

Sadece python'u kaldırmak ve sonra homebrew aracılığıyla yeniden yüklemek istedim, ama bir kerede çok fazla şeyi kırma konusunda biraz gerginim.

Yolu düzeltmenin kolay bir yolu var mı? Bir .bash_profile dosyası oluşturmalı mıyım? Herhangi bir yardım için şimdiden teşekkür ederiz.

Yanıtlar:


30

Evet, .bash_profilegiriş dizininizde bulunan bir dosyayı oluşturun.

PATH="/usr/local/bin:$PATH"

ve ardından değişikliği etkin hale getirmek için aşağıdakilerden birini yapın

  • gerçekleştirmek . ~/.bash_profile
  • PATH="/usr/local/bin:$PATH"geçerli kabukta çalıştır
  • Terminali yeniden başlat

2
Yukarıdaki cevap doğruysa @threenovation, cevap olarak işaretlemenizi önerebilir miyim (cevabın yanındaki onay işaretine tıklayın)
Stu Wilson

Bunun ihraç edilmesi gerekip gerekmediğini merak ediyorum? Çocuk süreçleri de bu yeni yola sahip olmalıdır. Ayrıca: Ben demleme kurduğumda, / usr / bin'in / usr / local / bin 'den önce geldiği konusunda beni uyarmadı.
Steven Lu,

@StevenLu, .bash_profile dosyasına ulaştığınız zaman zaten verilir. Açıkça tekrar ihraç etmenin zararı olmaz, ama gerekli değildir.
glenn jackman

Bunun için teşekkürler. Çalıştı "Sisteminiz demlemek için zorluyor."
Vezu

Sanki girişleri tekrarlıyor gibiyim $PATH.
flow2k

10

/ Etc / paths'de / usr / local / bin dizinini / usr / bin dizininden önce listelenmesi gerekir . Bunu yapabilmek için editörünüzü sudo yapmanız gerekecek.

Editör açmanın yollarından biri

 sudo open -t /etc/paths

PATH'im .bash_profile dosyamda doğru şekilde yapılandırıldı, ancak içinde değil /etc/paths. Bu güzel çalıştı.
Nick Tomlin

7
Yolunuzu ayarlamak için bu yöntemi KULLANMAYIN - terminal dışı uygulamaların "demlenmiş" bileşenleri alma ve arızalanma riski vardır. Ne yaptığınızı tam olarak anlamadığınız sürece "sudo" kullanmak da kırmızı bayrak olmalıdır (özellikle Mac Homebrew gibi bir kullanıcı seviyesi geliştirme sistemiyle). .Bash_profile dosyanızı düzenlemek ve yeniden başlatmak için terminal yeterlidir.
rholmes '

@ rholmes Yani .bash_profileetkileşimli kullanıcı mermilerini etkileyecek değişiklikler diğer uygulamaları değil sadece?
flow2k

1
@ flow2k .bash_profile etkileşimli kullanıcı kabuklarını etkiler. Dışa aktarılan değişkenler, kabuk komut satırından başlatılan uygulamalar tarafından görülecektir (örneğin, "normal" bir Mac uygulaması veya bir komut satırı komutu başlatmak). Burada daha fazla ayrıntı bulunabilir, ancak istediklerinizden daha ince bir ayrım yapıyorlar: scriptingosx.com/2017/04/about-bash_profile-and-bashrc-on-macos Glenn jackman tarafından verilen cevap .
rholmes

1
@ flow2k evet, doğru söyledin.
rholmes
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.