Windows 10家庭中文版,go version go1.11 windows/amd64,

Eclipse IDE for C/C++ Developers Photon Release (4.8.0), GoClipse 0.16.1(v201607061938),

背景:在前面开发Go项目时,自己已经把环境变量GOBIN删除了,并且程序按照预期运行——在Eclipse的Console中输出测试结果。

之前使用Eclipse+GoClipse开发Go项目时,遇到了下面的异常:
Executable file (...) doesn't exist.

此时,还存在一个项目go961,是之前建立的,其中的程序按照预期运行。

问题:为何这个新建的项目就无法运行呢?

之前测试项目go961时,删除了环境变量GOBIN就正常了啊!

环境变量部分的异常:

检查Windows 10环境变量时,没有发现环境变量GOBIN,可是,在使用go env命令查看时却发现GOBIN是有值的,并非为空。

正是因为GOBIN的值不为空,于是,异常产生了——编译生成的可执行文件没有在项目的bin目录下,而是存在于GOROOT的bin目录下,但Eclipse找的是项目的bin下的可执行文件,但没找到。

接着,在Eclipse中各种配置、比较正常的项目go961和异常的项目go961——没有发现配置差别、网络查找资料——比如下面这篇:

https://github.com/GoClipse/goclipse/issues/197

资料中也是说需要把GOBIN设置为空:

可是,没有设置GOBIN,可命令go env中的GOBIN却不为空!是哪里影响到了呢?

在耗时一两个小时却无果后,灵光一闪!新建环境变量GOBIN,再删除它

因为GOBIN需要绝对路径,所以,上面的设置是不对的,但俺们进行此操作的目的是——新建后删除它!

接下来,删除刚刚建立的GOBIN,再 重启Eclipse 测试go962是否可以运行——成功运行!

-删除后,命令go env显示GOBIN为空:

测试:重启计算机,执行go env命令,仍然显示GOBIN为空!

-测试go962的结果

-在项目go962下新建app进行测试(参考昨天读的关于go项目目录结构的文章)——成功

-新建项目go910,执行项目中的程序,成功!

总结:

解决问题的原则就是 保持 GOBIN 为空!

发生问题的原因推测:

1.项目go962是之前还项目go961一起建立的,在建立项目go962时,可能自己还没有删除环境变量GOBIN;

2.在后面的学习Go语言开发时,自己还尝试了使用LiteIDE,可能是在使用其过程中,GOBIN被它更改到 某个地方 了,虽然Windows的环境变量对话框中没有,但go env执行后怎么会出现呢?

刚刚测试使用LiteIDE运行了一个程序,成功,运行完毕后,go env中的GOBIN还是为空!

参考链接:

1.https://github.com/GoClipse/goclipse/issues/197

2.GOROOT、GOPATH、GOBIN、project目录(https://blog.csdn.net/xiongwenwu/article/details/52534949)

补充说明,

这次删除GOBIN后,执行Eclipse、LiteIDE中的Go项目时,GOROOT下的bin中没有出现项目的可执行文件了!

180910-1445更新:

使用visual studio code编写了一个go程序 runoob.go,位于app2目录下:

package mainvar a = "菜鸟教程"
var b string = "runoob.com"
var c boolfunc main() {println(a, b, c)
}

通过命令行执行遇到下面的错误:

D:\ws\golang\prj1\src>go install ./app2
go install: no install location for directory D:\ws\golang\prj1\src\app2 outside GOPATHFor more details see: 'go help gopath'D:\ws\golang\prj1\src>go install ./app2/runoob.go
go install: no install location for .go files listed on command line (GOBIN not set)D:\ws\golang\prj1\src\app2>go install runoob.go
go install: no install location for .go files listed on command line (GOBIN not set)

设置GOBIN后,可以使用go install运行程序:

D:\ws\golang\prj1\src\app2>go install runoob.goD:\ws\golang\prj1\src\app2>runoob.exe
菜鸟教程 runoob.com falseD:\ws\golang\prj1\src\app2>dir驱动器 D 中的卷是 新加卷卷的序列号是 BAD3-E0B3D:\ws\golang\prj1\src\app2 的目录2018/09/10  14:44    <DIR>          .
2018/09/10  14:44    <DIR>          ..
2018/09/10  14:44         1,021,440 runoob.exe
2018/09/10  14:40               118 runoob.go2 个文件      1,021,558 字节2 个目录 78,705,295,360 可用字节

转载于:https://www.cnblogs.com/luo630/p/9618712.html

环境变量GOBIN导致GoClipse运行出现异常相关推荐

  1. golang mac 环境变量_macOS 配置 golang 运行环境

    存档下 macOS 下配置 golang 的过程. 第一步,通过 Homebrew 安装 golang 包 $ brew update $ brew install go $ go version g ...

  2. Maven环境变量配置以及提示The JAVA_HOME异常问题

    要怎样才能将本地jar包导入本地Maven库中呢 首先要有Maven环境 1.下载Maven Maven传送门 2.下载完解压到相对路径后开始配置环境变量 3.配置环境变量 新增环境变量:MAVEN_ ...

  3. 关于Java为什么配置好环境变量但是不能在命令行cmd运行javac的问题

    关于如何配置环境变量,这儿不多说,网上很多.我要说的是明明按照步骤一步一步配置好了环境变量,却不能运行javac的问题. 那究竟是为什么呢?很有可能是你某个字母不小心输错了~不要笑,更不要不屑一顾.关 ...

  4. java version找不到_配置环境变量时,cmd下运行java -version,报错:找不到或无法加载主类 -version...

    这个方面适用于报错为:java 找不到或无法加载主类,一般是找不到类的路径,问题出在CLASSPATH环境变量上,当然这是大多数.大概率的出错点 不排除根据个人情况不况,所以想起来伟大领袖毛主席的话: ...

  5. 如何找到python的环境变量_总算懂得如何设置python环境变量

    总算懂得如何设置python环境变量 日期:2019-08-25 12:22:21 浏览:279 核心提示:相信很多初学者,在安装了python之后想完整在命令提示符直接输入python就可以使用的操 ...

  6. 配置Java_Home,临时环境变量信息

    一.内容回顾 上一篇博客<Java运行环境的搭建---Windows系统> 我们说到了配置path环境变量的目的在于控制台可以在任意路径下都可以找到java的开发工具. 二.配置其他环境变 ...

  7. centos crontab环境变量问题

    最近写个shell,监控系统的运行.其中有一条指令如下: IP=`ifconfig em1 | grep "inet addr" | cut -f 2 -d ":&quo ...

  8. c语言path环境变量,Windows下PATH等环境变量详解(转载)

    在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...

  9. Ubuntu指令失效解决问题之一——错误配置环境变量

    Ubuntu安装踩坑记录2: ·1. 突然修改错误环境变量,导致系统找不到指令,出现如下报错: Command 'dirname' is available in '/usr/bin/dirname' ...

  10. Java--JAVA_HOME环境变量的配置

    文章目录 前言 内容 在Windows7/8版本中配置环境变量的步骤: 在Windows10版本中配置环境变量的步骤: 总结 end 前言 Java学习配置环境变量是非常重要的,否则在编译的时候可能不 ...

最新文章

  1. 4行CSS实现【表格内容超过一行的部分,用省略号代替】【支持IE6】
  2. 开发腾讯移动游戏平台SDK ios版Ane扩展 总结
  3. c# 拼接lambda表达式 (转载)
  4. Hyperopt TypeError: 'generator' object is not subscriptable
  5. 20155317 2016-2017-2 《Java程序设计》第十学习总结
  6. 性能测试——JMeter脚本录制和HTTP负载测试
  7. VTK:功能袋图用法实战
  8. P1833 樱花——混合背包 二进制优化成01背包
  9. MMdetection安装使用(1)
  10. python创建双链表_Python双链表原理与实现方法详解
  11. linux 远程挂载摄像头_linux实现HUB分接两个摄像头读取视频
  12. MongoDB CookBook读书笔记之备份与恢复
  13. Mac下配置Nginx负载均衡
  14. web登录管理系统JAVA_Java Web(九) 用户管理系统
  15. win10系统恢复win7的照片查看器
  16. 每个家庭将有一台计算机英语,2011年6月英语四级考试模拟试题及答案9
  17. shiro权限拦截失效
  18. 【毕业设计】基于单片机的智能衣柜系统设计 - 物联网 stm32 嵌入式
  19. 360浏览器(网页)无法打开百度网盘解决办法
  20. Switch相关代码总结

热门文章

  1. Win10下VS2019 C++ opencv3.4.x 环境搭建过程 | 找不到opencv_world347d.dll | error LNK2019: 无法解析的外部符号
  2. 抖音,新的流量洼地?
  3. 百度地图(地图生成)
  4. [深度学习概念]·非极大值抑制解析
  5. String对象intern方法
  6. 新元宇宙每周连载《地球人奇游天球记》第十四回木星狩猎
  7. spring和jump区别_JUMP与 SKIP 的区别
  8. 一个据说可以让瑞星ravmond.exe崩溃的网站
  9. 《蜘蛛侠1,2,3》
  10. Java实现图片压缩功能