我安装了 rbenv(使用自制软件)并在我的 mac 上使用了多个版本的 ruby。有一段时间我不太使用 Ruby,在我的电脑上安装了其他东西(包括 OSX 10.9.3 和 Go)。我今天运行了 rbenv,它一遍又一遍地重复这条消息
tory
/usr/local/bin/rbenv: line 14: cd: Usage: Head host:port: No such file or directory
/usr/local/bin/rbenv: line 14: cd: Usage: Head host:port: No such file or directory
/usr/local/bin/rbenv: line 14: cd: Usage: Head host:port: No such file or directory
/usr/local/bin/rbenv: line 14: cd: Usage: Head host:port: No such file or directory
^C
当我运行 ruby -v
时,它一遍又一遍地重复此消息
/usr/local/Cellar/rbenv/0.4.0/libexec/rbenv: line 14: cd: Usage: Head host:port: No such file or directory
/usr/local/Cellar/rbenv/0.4.0
我用 homebrew 卸载了 rbenv 并重新安装了它,但遇到了同样的问题。
当我运行 jekyll serve -w
(在本地运行一个 jekyll 博客)时,我也得到了错误
/usr/local/Cellar/rbenv/0.4.0/libexec/rbenv: line 14: cd: Usage: Head host:port: No such file or directory
更新
我最近在我的计算机上安装了 Go,今天运行了几个 Go 程序,其中一个名为 Head
。我在尝试运行 rbenv 或 jekyll 时收到的错误消息似乎来 self 的 $GOPATH 中的一个 Go 脚本。这是打印错误消息的 HEAD 脚本
"Usage: ", os.Args[0], "host:port"
这个程序位于$GOPATH
/Users/randomname/go/src/github.com/myname/head
我不明白为什么这会与 Ruby 命令冲突
/* Head
*/
package main
import (
"fmt"
"net/http"
"os"
)
func main() {
if len(os.Args) != 2 {
fmt.Println("Usage: ", os.Args[0], "host:port")
os.Exit(1)
}
url := os.Args[1]
response, err := http.Head(url)
if err != nil {
fmt.Println(err.Error())
os.Exit(2)
}
fmt.Println(response.Status)
for k, v := range response.Header {
fmt.Println(k+":", v)
}
os.Exit(0)
}
这是我的 bash_profile。问题:此文件中是否存在导致冲突的内容?
### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"
export PGHOST=localhost
export LASTFM_API='76479e879457be34dd1180f78e731fc0'
export PATH=${PATH}:/usr/local/mysql/bin
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/bin:$PATH"
export GOPATH=/Users/randomname/go/
export PATH=$GOPATH/bin:$PATH
# The next line updates PATH for the Google Cloud SDK.
source '/Users/my_name/google-cloud-sdk/path.bash.inc'
# The next line enables bash completion for gcloud.
source '/Users/randomname/google-cloud-sdk/completion.bash.inc'
alias goapp=~/google-cloud-sdk/platform/google_appengine/goapp
export PATH=/path/to/go_appengine:$PATH
最佳答案
它正在尝试使用 GNU head
并且正在捕获您的版本,这是一个完全不同的程序,您必须将名称更改为其他名称并删除 $GOPATH/bin/head
。
关于Ruby 命令与 $gopath 中的程序冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24706980/