英文:
Ruby commands conflicting with program in $gopath
问题
我以前在我的Mac上使用Homebrew安装了rbenv,并且安装了几个不同版本的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时收到的错误消息来自于我的$GOPATH中的一个Go脚本。这是HEAD脚本,它打印错误消息:
"Usage: ", os.Args[0], "host:port"
该程序位于$GOPATH中:
/Users/randomname/go/src/github.com/myname/head
我不明白为什么这会与Ruby命令冲突。
这是我的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
英文:
I had rbenv installed (with homebrew) and working on my mac with several versions of ruby in the past. For a period of time I didn't use Ruby very much and have installed other things (including OSX 10.9.3 and Go) on my computer. I ran rbenv today and it repeated this message over and over
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
When I run ruby -v
it repeats this message over and over
/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
I uninstalled rbenv with homebrew and reinstalled it but have the same problem.
When I run jekyll serve -w
(to run a jekyll blog locally), I also get the error
/usr/local/Cellar/rbenv/0.4.0/libexec/rbenv: line 14: cd: Usage: Head host:port: No such file or directory
Update
I have recently installed Go on my computer and ran a few Go programs today, one of which is called Head
. It appears the error message that I'm getting when trying to run rbenv or jekyll is from one of the Go scripts in my $GOPATH. This is the HEAD script, which is printing the error message
"Usage: ", os.Args[0], "host:port"
This program is located in the $GOPATH
/Users/randomname/go/src/github.com/myname/head
I don't see why that would conflict with Ruby commands
/* 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)
}
this is my bash_profile. Question: Is there something in this file that's causing the conflict?
### 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
答案1
得分: 0
我认为这个问题与你的问题有关。该问题已经在这里修复,但尚未发布。提交信息表明你可能没有安装GNU coreutils,所以你可以尝试使用以下命令安装:
brew install coreutils
但我不是OSX用户,所以不能确定这是否能解决问题。
英文:
I think this issue has to do something with yours. The issue is fixed here but have not been released yet. The commit message suggests that your may have not GNU coreutils installed, so perhaps you may want to install it using
brew install coreutils
But I'm not an OSX user so I can't be sure that this would fix it.
答案2
得分: 0
它正在尝试使用GNU head
命令,并捕捉到你的版本,这是一个完全不同的程序,你需要将其名称更改为其他名称,并删除$GOPATH/bin/head
。
英文:
It's trying to use GNU head
and it's catching your version, which is a completely different program, you will have to change the name to something else and delete $GOPATH/bin/head
.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论