Ruby命令与$ gopath中的程序冲突

时间:2014-07-11 21:39:08

标签: ruby go rbenv

我安装了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

我用自制程序卸载了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时出现的错误消息来自我的$ 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

2 个答案:

答案 0 :(得分:0)

我认为这issue必须与你的事情做点什么。该问题已修复here,但尚未发布。提交消息表明您可能没有安装GNU coreutils,因此您可能希望使用

安装它
brew install coreutils

但我不是OSX用户,所以我无法确定这会解决它。

答案 1 :(得分:0)

它正在尝试使用GNU head并且它正在捕捉您的版本,这是一个完全不同的程序,您必须将名称更改为其他内容并删除$GOPATH/bin/head