猿问

在go-mode emacs会话中找不到Godef

我通过安装了godef


go get github.com/rogpeppe/godef

我安装了emacs go-mode,并且在.bashrc中有以下导出:


export GOROOT=/usr/local/go

export GOPATH=$HOME/go

export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

发现godef的意义在于


godef -h # appears to work.

如:


$ godef -h

usage: godef [flags] [expr]

  -A    print all type and members information

  -a    print public type and member information

  -acme

        use current acme window

  -debug

        debug mode

  -f string

        Go source filename

  -i    read file from stdin

  -json

        output location in JSON format (-t flag is ignored)

  -o int

        file offset of identifier in stdin (default -1)

  -t    print type information

当我C-c C-d在emacs会话中的文件中运行时,应该在每个文件中调用一个godef-describe函数


https://github.com/dominikh/go-mode.el


我预计:


Integration with godef


    godef-describe (C-c C-d) to describe expressions

    godef-jump (C-c C-j) and godef-jump-other-window (C-x 4 C-c C-j) to jump to declarations

    This requires you to install godef via go get github.com/rogpeppe/godef.

酷,都准备好了。但是,当我尝试在go文件中使用Cc Cd时,我得到:


Could not run godef binary

我可以在命令行上运行它,并且它的定义正确。发生了什么?


我发现:


M-x godoc


// then

godoc: OSReadDir // for example

产生


godoc: /bin/bash: go: command not found

这向我暗示,即使在普通的外壳程序中找到了godef和godoc,在emacs中仍可能存在一些路径问题?如何检查或修复?


四季花海
浏览 310回答 2
2回答

慕运维8079593

〜/ .emacs.d / init.el(setq exec-path (append exec-path '("/root/go/bin")))
随时随地看视频慕课网APP

相关分类

Go
我要回答