1. 程式人生 > >Mac OS X 下終端系統命令丟失提示 command not found 解決方法

Mac OS X 下終端系統命令丟失提示 command not found 解決方法

  事件的起因是我在 ~/.bash_profile 裡添加了 ~/.composer/vendor/bin 這個東西導致,或許是 OS X 10.11 的 bug?

  先說說 Mac OS 裡對環境變數檔案的載入順序

/etc/profile -> /etc/paths -> ~/.bash_profile

  主要就是這 3 個,如果在找不到 ~/.bash_profile 還會繼續按照下方的順序查詢配置檔案【可以忽略下方 3 個,不常用】

~/.bash_login -> ~/.profile -> ~/.bashrc

  解決終端命令丟失 command not found 可以參考如下步驟:

  1. 檢查 ~/.bash_profile 檔案是否存在,如果存在則重新命名,如 mv ~/.bash_profile ~/bash_profile,然後登出輸入密碼,開啟終端嘗試 lssource 等命令。【如果個人不喜歡 .bash_profile 這個名字而使用上方所述的 3 個檔案,也參照此法】

  2. 步驟 1 基本就解決了系統命令問題,如果還存在,仔細檢查 /etc/paths 檔案,裡面預設包含如下內容:
    【注意順序非常重要,如果有通過 brew 安裝 PHP 等元件,/usr/local/bin/usr/local/sbin/usr/bin/usr/sbin 之後的話,則後面含有相同的命令不會覆蓋之前的命令,以前者為準。】
    【例如 /usr/bin

    裡包含了 php phpize php-config 等檔案,則終端下預設執行的就是 /usr/bin 裡的版本。而 /usr/local/bin 裡的 php phpize php-config 等檔案則會忽略。所以為了使用上 brew 安裝的版本,推薦把 /usr/local/bin/usr/local/sbin 放在 /usr/bin/usr/sbin 之前】

    /bin
    /sbin
    /usr/local/bin
    /usr/local/sbin // 這個預設是沒有的,建議加上
    /usr/bin
    /usr/sbin

    如果沒有或者不完全,請複製上方內容並貼上到 paths 檔案,需要 root

    許可權。【// 和後面的內容不要複製哈】然後登出登入,開啟終端測試命令。

  3. 進入 /etc/paths.d,看看有沒有最近修改的檔案,同樣的仔細想想 .bash_profile 最近有沒有修改過,如果有,/etc/paths.d 裡的某個檔案先複製一份到桌面並刪除; .bash_profile 則刪除或註釋掉(行前加 # 為註釋)近期新增的內容。登出或終端執行 source ~/.bash_profile 生效。【建議登出】

  4. 我當時遇到的情況是在 .bash_profile 裡新增

export PATH="$PATH:~/.composer/vendor/bin"

   導致的錯誤,當然也嘗試過完整路徑。最後我把這個路徑直接放到 /etc/paths.d 裡,也就是新建一個 composer 檔案,內容填上

/Users/使用者名稱/.composer/vendor/bin

   登出後解決。終端執行 echo $PATH 看了下一切正常。

相關推薦

Mac OS X 終端系統命令丟失提示 command not found 解決方法

  事件的起因是我在 ~/.bash_profile 裡添加了 ~/.composer/vendor/bin 這個東西導致,或許是 OS X 10.11 的 bug?   先說說 Mac OS

Mac OS X搭建Android Source編譯環境的問題及解決方法

[轉發請註明出處,謝謝] 本文的編譯環境指的是Android Kernel,Framework的編譯,不是Application的開發環境。 有詳細說明的只給出連結和要點提示。 大的步驟就是Android的source網站的原文 “Initializing a Buil

ubuntu終端執行shell腳本報command not found解決方法

flow logs install post pos not-found stack work href 使用sudo執行腳本報錯:sudo: myshell.sh: command not found 原因:發生這種情況的原因是因為您正在嘗試執行的腳本需要正確的權限 解決

linux 上傳檔案 rz命令 提示command not found 解決方法【Linux】

-bash: rz: command not found rz命令沒找到? 執行sz,同樣也沒找到。 安裝lrzsz:

mac OS X終端使用tree命令列目錄

1. 問題描述   相信很多使用過Linux的使用者都用過tree命令,它可以像windows的檔案管理器一樣清楚明瞭的顯示目錄結構。不過有是有並不是系統本身就自帶的,如果需要的話,Ubuntu下可執行下列命令安裝。      sudo apt-get i

Mac OS XAndroid系統M2、華為部分手機無法連線問題之解決方案

一般的android連線mac 很方便不用安裝驅動就可以啦,可是不知道為什麼特殊情況下有的android手機(小米2,華為等)就是連線不上,下來就說說特殊情況下如何連線。 使用USB連線安卓手機後可以做2件事情: 1.關於本機-->更多資訊->概系統覽-&

Mac OS X 部分Android手機無法連線adb問題之解決方案

時至當今,Android山寨手機廠商已如此之多,能修改和個性化定製Android OS的能人已是多如牛毛,有的牛人修改Android系統只會影響所修改的點,不會影響其它,然後還有的就不多說了,總之做的修改會造成很多影響其它方面功能的問題。對Android APP開發者來說最

linux執行常用命令出現:command not found

在 linux 下執行類似與 ls、ll、vim 等命令時出現 command not found,並且執行 source /etc/profile 出現 bash: id: command n

關於jps命令-bash: jps: command not found 解決方案

centos6.3  64位有Java1.5自帶,當我安裝CDH4時,習慣用老的方法來檢視程序是否正確啟動,即jps,可是他卻告知 -bash: jps: command not found 原因很簡單,java1.5沒有jps命令 以下為解決方式: &nbs

Mac anaconda安裝 “conda command not found解決方法

官網下載包直接安裝的時候可能會產生這種問題,這主要還是環境變數配置的問題 一般我們新增環境變數的方法是編輯.bash_profile或.bashrc,在檔案裡插入下面這段程式碼 export PATH="~/anaconda/bi

Jenkins構建,執行pytest命令提示command not found問題解決

問題說明 在centos下安裝了jenkins,在構建步驟中選擇執行shell 新增命令 py.test /home/test/test_do.py 執行提示 + py.test /home/tet/test_do.py /tmp/jenki

關於jps命令-bash: jps: command not found 解決方案

centos6.3  64位有Java1.5自帶,當我安裝CDH4時,習慣用老的方法來檢視程序是否正確啟動,即jps,可是他卻告知 -bash: jps: command not found 原

/usr/local/MATLAB/R2013a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found 解決方法

問題錯誤描述 在matlab的m檔案中執行一條終端命令時出現如下錯誤資訊: >> test_FIR /usr/lib/x86_64-linux-gnu/ivl/ivl: /usr/local/MATLAB/R2013a/sys/os/glnxa64/libst

[轉載] Mac OS X背後的故事(十一)Mac OS X文件系統的來龍去脈(

ber 標準 rate eas 賓夕法尼亞 apple 思想 上層 ipad 由於各種缺點,幹掉HFS+勢在必行,然而用什麽取代HFS+呢?蘋果開始秘密移植下一代的文件系統—ZFS,然而在諸多因素的幹擾下,Mac OS X的ZFS支持卻只是曇花一現,未來文件系統之路將走向何

Mac OS X終端像Linux那樣擁有豐富多彩的顏色顯示

1、讓ls以及grep命令顯示結果具備彩色 修改當前登入賬號目錄下的~/.bash_profile檔案(如果沒有就建立它),加入以下內容: alias ls='ls -G' alias ll='ls -l' alias grep='grep --color' 儲存後

Mac OS X 命令列編譯錯誤: ld: library not found for -lcrt1.10.6.o

在 Mac OS X 的 10.8.3 的版本中,使用命令列執行 configure 時,生成下面的錯誤: WenBi-MacBook:tcpdump-4.4.0 wenbi$ ./configure checking build system type... x86

Mac OS X su 命令提示 sorry 的解決方法

大家都知道在 Linux 下,執行 su 命令後輸入密碼即可切換到 root 使用者執行各類操作 但是 Mac 下,這樣行不通,只會返回你一句 Sorry! 解決方法很簡單,首先開啟終端 依次輸入

一文搞定 Mac OS X使用iTerm2+zsh+oh-my-zsh配置Powerline風格的命令

本不想寫這篇文章的,因為在Linux下已經配置過很多次,想著mac應該找篇文章一次就搞定了,結果還是踩坑,看了很多文章,不是某一點沒不清楚,就是截圖有問題或者命令有問題,官網又難得找等等…花了3個多小時才搞定,所以,還是來總結一篇文章就能夠搞定的教程。 為什麼要

mac os x使用命令列安裝軟體

os x本質是一個unix 類unix的linux作業系統都有提供命令列工具快速安裝一些軟體, 如centos下使用yum ubuntu下使用apt-get os x上使用brew,安裝brew的方法很簡單,可以參考 http://brew.sh  先執行一下 ruby

How to Install wget in OS X如何在Mac OS X安裝wget並解決configure: error:

configure openssl usr local 解壓 fix 官網下載 .org get 1.ftp://ftp.gnu.org/gnu/wget/官網下載最新的安裝包 wget-1.19.tar.gz 2.打開終端輸入 tar zxvf wget-1.9.1.ta