Closed zync-mzy closed 1 year ago
Hi @zync-mzy , 插件使用的PATH包含两部分:
IDE里设置的$GOROOT/bin, GOROOT就是这里设置的,这是为了保证golangci-lint执行中使用的go一定是跟IDE一样的
System GOPATH,也就是后面这段 /usr/bin:/bin:/usr/sbin:/sbin
,据我所知Goland会起一个独立的python进程尝试获取.bashrc/.zshrc等配置文件里设置的PATH。也就是这部分导致了你diff的问题
解决方法可能有:
/opt/homebrew/bin/diff
加到现有的PATH前面brew link -f diffutils
强制用新的 diff 替换掉系统自带的@xxpxxxxp 感谢你及时的回复和解决建议!
在你的.bashrc等配置文件里把
/opt/homebrew/bin/diff
加到现有的PATH前面
但是我在自己的终端里面,echo $PATH
展示的内容也并不是/usr/bin:/bin:/usr/sbin:/sbin
,包括我在Goland自带的终端里打印出来的PATH也不是,所以我就非常困惑,不知道该怎么设置了
brew link -f diffutils
强制用新的 diff 替换掉系统自带的
这个只是把/opt/homebrew/Cellar/diffutils/3.8
的二进制软链到/opt/homebrew/bin/
下面,并无法解决我的问题
不知道你是否还有别的建议?附上我在独立终端和Goland终端的输出
# Goland Terminal
$ echo $PATH
/opt/homebrew/Cellar/go@1.16/1.16.15/libexec/bin:/Users/zync/go/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/zync/go/bin
# iterm2
$ echo $PATH
/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/zync/go/bin
有个简单粗暴的方法,从iterm2里启动Goland,这样它就会继承iterm2里的PATH https://medium.com/@shaunthomas999/how-to-launch-intellij-idea-from-command-line-ba10443cc1a9#:~:text=Go%20to%20%27Tools%27%20menu%20in,I%20choose%20idea%20as%20command.
这个方法对我来说非常🉑️ 感谢!
背景
macOS升级到Ventura版本之后,系统自带的
/usr/bin/diff
输出改变了,导致goimports
会报错,进而导致Go Linter执行失败。 有一个解决方法是brew install diffutils
安装另一个diff,路径是/opt/homebrew/bin/diff
,但是从Go Linter的执行日志(如下)来看,/opt/homebrew/bin
并不在PATH里面,导致无法使用新安装的diff。问题