- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
当我得到golang.org/x/tools/cmd/goimports时
go get golang.org/x/tools/cmd/goimports
package golang.org/x/tools/cmd/goimports: unrecognized import path "golang.org/x/tools/cmd/goimports"
最佳答案
这个答案将提供一个选项来解决由于网络阻塞 而失败的 go get
。
请注意,如果您的 Go 安装存在配置问题(例如不正确的 GOPATH
),则此类故障应解决 而不是 ,但应解决潜在问题;否则你只会有以后的错误/失败。但是,在这种特定情况下,显然失败的根本原因是无法修复的,因为无法通过网络访问所需的资源。 (尽管在这种情况下,我希望 go get
有更好、更具体的错误消息;也许不是仅仅阻止 HTTP 请求,而是替换为包含一些混淆 go get
的数据的页面)。
首先,go get golang.org/x/tools/cmd/goimports
试图做什么。 The documentation 说它“下载并安装由导入路径命名的包及其依赖项。”
意识到两件事很重要:第一,它通过获取包源(通常通过克隆 VCS 存储库)然后构建包/程序来实现这一点;第二,如果源目录似乎已经存在,它不会获取或更新任何内容。
如果先前的go get
无法检测到某些错误,则后者可能会引起问题,因为您将被“腐败”的源头所困扰。如果发生这种情况,您可以使用 -u
标志尝试更新,或者您可以从 GOPATH
中删除 old/corrupt/incomplete 目录并尝试新的 go get
。
该文档还描述了它如何解释 "remote import paths" ,基本上是尝试将其与已知代码托管服务(GitHub、Bitbucket 等)或远程版本控制系统存储库(git、mercurial 等)或执行 HTTPS/HTTP 请求相匹配,并且寻找 meta name="go-import" …
标签。
您可以使用 go get -v
来查看其中的一些内容:
# go get -v golang.org/x/tools/cmd/goimports
Fetching https://golang.org/x/tools/cmd/goimports?go-get=1
Parsing meta tags from https://golang.org/x/tools/cmd/goimports?go-get=1 (status code 200)
get "golang.org/x/tools/cmd/goimports": found meta tag main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/cmd/goimports?go-get=1
get "golang.org/x/tools/cmd/goimports": verifying non-authoritative meta tag
Fetching https://golang.org/x/tools?go-get=1
Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200)
golang.org/x/tools (download)
golang.org/x/tools/go/ast/astutil
golang.org/x/tools/imports
golang.org/x/tools/cmd/goimports
go get
向 golang.org
发出 HTTPS 请求以发现源的位置并有效地执行¹:mkdir -p $GOPATH/src/golang.org/x/tools
git clone https://go.googlesource.com/tools $GOPATH/src/golang.org/x/tools
go build golang.org/x/tools/cmd/goimports
golang.org/x/tools/cmd/goimports
是 golang.org/x/tools
的一部分,并通过执行 git clone
下载整个存储库,然后构建 goimports
命令,它是两个依赖包(方便地位于同一个存储库中,否则会有多个克隆/下载步骤)。结果放在 $GOPATH/bin
(和 $GOPATH/pkg/$GOOS_$GOARCH
)下。go get
不起作用或被阻止访问 golang.org
,首先要尝试的是上述命令。git clone https://github.com/golang/tools.git $GOPATH/golang.org/x/tools
),或者您可以从某处下载存储库的内容并将它们解压缩到 GOPATH
中的正确位置,例如也许是这样的:curl https://github.com/golang/tools/archive/master.zip
unzip -d $GOPATH/src/golang.org/x/tools master.zip
GOPATH/src
,您应该能够 go build {path}
。go
工具期望它们是 的位置,即在 $GOPATH/src/{go/import/path}
下。golang.org
)被阻止,您可以仅对被阻止的存储库执行此操作,然后执行 go get golang.org/x/tools/cmd/goimports
;由于 go get
不会尝试获取现有目录,因此只应在构建所有内容之前获取任何丢失的依赖项。GOPATH
是单个目录的常见情况。如果您的 GOPATH
是多个目录,例如GOPATH=$HOME/go.public:$HOME/go.private
,那么您需要替换 GOPATH
的第一个路径组件。
关于go - 我在获取 golang.org/x/tools/cmd/goimports 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31867347/
我正在尝试制作一个命令行界面程序,它可以从用户输入中获取代码行并使用 execlp 执行它们。 我想知道是否有更好的方法来编写我的代码。 execlp(cmd[0], cmd[0], cmd[1] c
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我使用此脚本查找当前文件夹及其 .bat 文件: for /f %%i in ("%0") do set curpath=%%~dpi echo %curpath% 如果路径包含空格,它无法正常工作
在 Windows 的命令提示符处,我可以通过键入 echo 来回显响铃字符,然后按住 Ctrl+G 生成 echo ^G,运行时会发出铃声。 当我实际用键盘输入 echo ^G 时,它只会在屏幕上打
这是我执行的命令: >cmd /k >echo 1 1 >echo 2 2 >echo 3 3 >exit /b >cmd /c "doskey /history" echo 1 echo 2 ech
我需要编写一个命令来更改当前目录并打印包含在一些标签中的 NEW 目录。我以为 cd SOMEPATH & echo wkd%cd%wkd会这样做,但有一个问题。 这是一些示例输入和输出 C:\Use
我正在尝试从“调用 ppm 查询断言”中捕获 stoutput,如果它等于“ * 没有安装匹配 'assert' ** 的软件包”或更好但包含字符串“无软件包”做“某事” “.. 正在安装软件包。任何
似乎一个cmd脚本包含: prog1 prog2 与...相同 call prog1 call prog2 使用CALL命令有什么意义? 最佳答案 当需要调用另一个批处理程序(cmd脚本)时,应使用c
我要打电话 cmd /c "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" mysolution.sln /b
在 Windows 上,可以轻松以管理员身份运行 cmd 应用程序: Right click on cmd icon >> run as administrator` 但我想以管理员身份使用 PhpS
我目前正在使用 Python 的 cmd 模块创建一个基于命令的游戏。 在某个时刻,我的 cmd.Cmd 对象会被嵌套。如果我说我正在运行命令提示符 A,那么在某个时刻,会在 A 内创建一个新的提示符
我正在尝试构建一个 cli 框架,其中需要动态添加命令。我想要实现的是 - 我将有一个继承自 cmd.Cmd 的最小类,稍后我将在单独的类中编写命令并将这些命令与主类一起加载。 以下是我尝试过的,但在
以下命令有什么区别: start %comspec% /c script.cmd start cmd /C script.cmd 我需要 script.cmd 的 cmd 窗口在 script.cmd
我正在尝试将一个长而复杂的 Windows 批处理文件转换为 Python。 除了细微的问题外一切正常,我怀疑这与引用有关,但不太清楚。 在批处理文件中,这工作正常: Reg.exe add "HKC
我想为 ffplay 或 ffmpeg 传递多个标题,它说我需要用 CRLF 拆分。在 linux 上我可以使用 \或 $'\r\n'但是 window 怎么样? SET CRLF=^ ffplay
我是 3D 软件 Blender 的用户。 我正在尝试在 CMD 中运行,因为 Blender 提供了 CLI 控制。 下面的代码工作正常。 blender -b "my.blend" ^ --pyt
我有一个包含版本资源的文件,其中填充了文件版本/产品版本字段。我需要通过 BAT 文件检索产品版本。例如,我在 bat 文件的输出中有 ProductVersion 1.0.1 的文件我不想有字符串“
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 去年关闭。 Improve this
我可以运行 forfiles 命令与cmd /c ,正如预期的那样 C:\>forfiles/c "cmd/c ping/a" 必须指定 IP 地址。 但是,如果我删除 cmd /c ,它不再识别任何
我有一个函数,它可以获取所有 USB 连接设备的信息。 connected_devices = :os.cmd('usb-devices | grep -A 1 Product=') 当我使用 :os
我是一名优秀的程序员,十分优秀!