为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 gore 加载本地 go 文件

如何使用 gore 加载本地 go 文件

Go
繁星点点滴滴 2022-04-20 17:45:49
我安装gore使用REPL。我想检查ParseFullTimeSpec这个文件中一个函数的行为。https://github.com/dshearer/jobber/blob/master/jobfile/time_spec.go#L79我试过了:import github.com/dshearer/jobber/jobfile/time_spec.go,但它返回了一个错误error: import: can't find import:之后我也尝试了相对路径git clone,但无论如何我都无法导入它。什么是从加载 go 文件的正确方法gore?将软件包安装到工作场所要将软件包安装到我的工作场所,我这样做了:mkdir $GOPATH/src/github.com/dshearercd $GOPATH/src/github.com/dshearergit clone git@github.com:dshearer/jobber.gitgo install github.com/dshearer/jobber/jobfile它返回一个错误:# github.com/dshearer/jobber/commonsrc/github.com/dshearer/jobber/common/sudo.go:15: undefined: sudo_cmd而且我无法安装common错误的软件包undefined: sudo_cmd。go install github.com/dshearer/jobber/common# github.com/dshearer/jobber/commonsrc/github.com/dshearer/jobber/common/sudo.go:15: undefined: sudo_cmd
查看完整描述

3 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

您需要导入包本身,该文件是. 你不能在 go 中单独导入文件。

:import github.com/dshearer/jobber/jobfile


查看完整回答
反对 回复 2022-04-20
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

所以有两个问题:


1)您可以导入包,但不能导入特定文件(包可能包含多个文件)


2) sudo_cmd 的源代码和错误 - sudo_cmd 仅在 Linux 和 FreeBSD 平台上可用。看:


nkts@zulu ~ $ ls -l go/src/github.com/dshearer/jobber/common/sudo_cmd_*

-rw-rw-r--. 1 nkts nkts 214 Nov 22 22:28 go/src/github.com/dshearer/jobber/common/sudo_cmd_freebsd.go

-rw-rw-r--. 1 nkts nkts 229 Nov 22 22:28 go/src/github.com/dshearer/jobber/common/sudo_cmd_linux.go

所以它不应该在 Windows 或 MacOSX 上工作。


但显然适用于 Linux(自动完成):


nkts@zulu ~ $ go get -u github.com/motemen/gore

nkts@zulu ~ $ go get -v github.com/dshearer/jobber/jobfile

github.com/dshearer/jobber (download)

github.com/dshearer/jobber/Godeps/_workspace/src/gopkg.in/yaml.v2

github.com/dshearer/jobber/common

github.com/dshearer/jobber/jobfile

nkts@zulu ~ $ gore

gore version 0.2.6  :help for help

gore> :import github.com/dshearer/jobber/jobfile

gore> jobfile.ErrorHandlerStopNam^C


查看完整回答
反对 回复 2022-04-20
?
偶然的你

TA贡献1841条经验 获得超3个赞

您最后的输出似乎表明您做得对,但您使用的源代码状态不正确:


go install github.com/dshearer/jobber/common

# github.com/dshearer/jobber/common

src/github.com/dshearer/jobber/common/sudo.go:15: undefined: sudo_cmd

查看 jobber 的来源,它似乎有一个Makefile,它应该为您的架构添加缺少的功能。


这个项目实际上有特定的安装说明,你可以在这里找到它们。


cd /path/to/your/workspace

go get github.com/dshearer/jobber

cd src/github.com/dshearer/jobber

git checkout v1.1

make GO_WKSPC=/path/to/your/workspace

PS:请注意,在您的安装依赖项的规范方法$GOPATH是使用go get:


go get host.com/namespace/package

但是,这还不够,因为包作者决定使用临时构建机制。


查看完整回答
反对 回复 2022-04-20
  • 3 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信