windows-8 - 在 windows : "Access is Denied" 上安装

标签 windows-8 go goinstall

我是 Go 编程的新手。对于我的一个问题,我真的很想得到你的帮助。

我需要对一个文件执行 go install 操作,该文件的可执行文件(在 Windows 中)创建在名为 GOPATH\bin 的文件夹中。

直到现在,我通常遵循以下例程:go install <file>.go ---> <file>.exe . 但是,这次似乎是在执行 <file>.exe 之后,exe 有一段时间没有完成执行,当我再次安装 时出现以下错误。

C:\Users\Rahul\Desktop\Compilers\src\cs553s2013\mylexer>go install is_digit.go go install command-line-arguments: open C:\Users\Rahul\Desktop\Compilers\bin\is_ digit.exe: Access is denied.

最佳答案

参见 http://grokbase.com/t/gg/golang-nuts/135fyje5d9/go-nuts-go-build-access-is-denied-windows-7x64

完全不知道为什么,但上面的建议奏效了。必须在 Windows 7 上启用“应用程序体验”Windows 服务才能解决此问题。

我禁用了此服务,并且在我的项目的二进制文件上看到类似奇怪的 2-3 分钟“权限被拒绝”(二进制文件也会在通过 $GOPATH/bin 的 alt+F2 刷新后消失,来自$GOPATH/bin 的 Windows 资源管理器 View ,其中 Eclipse + Goclipse 正在构建我的二进制文件)。我注意到,就在执行之后,在二进制文件最终消失之前,它被更改为由某个未知用户拥有(在 Explorer 中,它不属于编译用户、管理员,甚至不属于 SYSTEM)。

我只能推测——也许 Windows 在文件系统上保留了任何 .exe,如果它退出时没有某种未记录的“一切正常”状态到 Windows 内核,假设它“崩溃”,那么应用程序体验服务可以将其作为诊断数据发送给 Microsoft——如果该服务被禁用,应用程序体验服务将无法完成 NTFS 或 Explorer 正在等待的任何握手,以允许文件被后续编译覆盖。所以 golang .exe 坐在那里,具有更高的权限,有一些系统/未定义的用户,不能被 Eclipse 删除,直到 Explorer 做一些事情将它标记为肯定死了。

关于windows-8 - 在 windows : "Access is Denied" 上安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14511495/

相关文章:

asp.net-mvc - 未找到类型 'System.Data.Entity.Infrastructure.SqlConnectionFactory' 的构造函数

go - golang 中的内存泄漏

macos - $GOPATH 已设置但 go install 不起作用

delphi - 使用 Windows Media Player ActiveX 在 delphi 中播放 DVD 视频

c# - 禁用取消选择项目的功能

perl - 在 Windows 8 PowerShell ISE 中运行 Strawberry Perl

python - Sublime Text 3 - 语言特定的 Goto 定义键盘快捷键

ssh - Golang - 到多个节点的并发 SSH 连接

go - web.go 安装错误

go - 在 Golang 包中编译 CGO 文件