2013-04-29 51 views
4

我使用gem install watchr在OS X(10.8.3)上安裝了watchr。而且它安裝在在/ usr/bin中/ watchr路徑,/ usr/bin /和/ usr/local/bin/

$ which watchr 
/usr/bin/watchr 

然而,當我試圖把它$ watchr -v,系統無法找到它。

$ watchr -v 
-bash: /usr/local/bin/watchr: No such file or directory 

我認爲這是關係到該路徑是如何設置我的機器上。我的問題:

  1. 什麼是解決它的正確方法?
  2. 一般來說,什麼程序應該去/usr/bin//usr/local/bin/
  3. 當我做了$ /usr/bin/watchr -e 'watch(./hello.txt) ...',是我們在當前目錄或的/ usr/bin中/即同一目錄watchrhello.txt的
+0

在我的情況下(Ubuntu)關閉並重新打開終端固定的問題。 – 2013-10-31 08:57:02

回答

2

/usr/local/bin/watchr是否符號鏈接失效?這將使which watchr不包括,但watchr將打印此錯誤:

-bash: /usr/local/bin/watchr: No such file or directory 

我不知道爲什麼自帶的OS X的gem安裝在/ usr/bin中/節目,但一般在/ usr/bin中/適用於預裝程序,軟件包管理器使用/ opt/local/bin /或/ usr/local/bin /等。

我還在/ usr/local/bin /之前的路徑上的其他文件夾,我把大多數程序,我手動安裝或編譯到/ usr/local/bin /。我曾經有一個單獨的〜/ bin /文件夾,但很容易找到類似find /usr/local/bin ! -lname '../Cellar/*'的非Homebrew程序。一般約在/ usr/local/bin目錄/

相關問題:

+0

我在_/usr/local/bin/_中看到了幾個符號鏈接,但沒有找到_watchr_的符號鏈接。你是說_/usr/bin/_更適合系統安裝;而_/usr/local/bin/_用於手動安裝,即手動安裝的用戶手動安裝的程序? – moey 2013-04-29 09:37:21

+0

在對此進行了更多的實驗之後,我學到了以下內容。如上所述,{/ usr/local/bin /}經常被包管理器使用。 _brew_ installs {{/ usr/local/Cellar/*}}。對於手動安裝,真正取決於用戶在哪裏放置位。 – moey 2013-07-28 03:06:05

10

你的命令的路徑是一個壞值緩存。嘗試更新bash爲路徑存儲的緩存目錄。

hash -d watchr 

我找到了答案在這裏which ctags shows /usr/local/bin/ctags but when I run ctags it runs /usr/bin/ctags. How is this possible?

+0

謝謝,夥計。我在創建Erlang和Elixir時遇到了這個問題。他們的官方倉庫在Ubuntu/Linux Mint中搞砸了。你的評論讓我從一次可能長時間的尋找狩獵活動中解脫出來,並可能在將來也這樣做。 ;)我無法相信我以前不知道那一個。 (任何更多的關鍵字爲未來谷歌我應該添加到我的答案?) – bid 2017-05-19 16:07:56

0

創建一個在你的主目錄下名爲.profile文件,並添加以下行。 export PATH =「/ usr/local/bin:/ usr/local/sbin:/ usr/bin:$ PATH」