环境变量GOBIN导致GoClipse运行出现异常
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 main var a = "菜鸟教程"
var b string = "runoob.com"
var c bool func 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 GOPATH
For 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.go D:\ws\golang\prj1\src\app2>runoob.exe
菜鸟教程 runoob.com false D:\ws\golang\prj1\src\app2>dir
驱动器 D 中的卷是 新加卷
卷的序列号是 BAD3-E0B3 D:\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.go
2 个文件 1,021,558 字节
2 个目录 78,705,295,360 可用字节
环境变量GOBIN导致GoClipse运行出现异常的更多相关文章
- 在uboot里面加入环境变量使用run来运行
Author:杨正 Date:2014.11.11 Email:yz2012ww@gmail.com QQ:1209758756 在移植uboot的时候,能够在uboot里面加入定义一些自己的环 ...
- jdk&tomcat环境变量配置及同时运行多个tomcat方法
一:jdk配置 安装jdk1.7.0_51,安装过程中所有选项保持默认:最后配置 JDK的环境变量: 在“我的电脑”上点右键—>“属性”—>“高级”—>“环境变量(N)”. 1.新建 ...
- 解决Ubuntu环境变量错误导致无法正常登录
一.问题产生 配置JDK时,按照搜索到的一篇文章中的做法,修改了/etc/profile文件里的内容.在原内容保持不变的基础上,大致添加了以下内容: export JAVA_HOME=.... exp ...
- 解决Ubuntu环境变量错误导致无法正常登录 (command 'xxx' is available in bin ls)
一.问题产生 配置JDK时,按照搜索到的一篇文章中的做法,修改了/etc/profile文件里的内容.在原内容保持不变的基础上,大致添加了以下内容: export JAVA_HOME=.... exp ...
- 安装JDK+Tomcat,进行环境变量设置,和运行JSP
系统:windows 7 64-bit 安装前需要用到的软件 JDK7u21 Tomcat 8.0 下载64-bit Windows zip就好 安装JDK7u21 和平常安装软件一样,路径也不要动, ...
- 嵌入式Linux环境变量如何参与程序运行
1.环境变量一共有两份,一份在Flash中,另一份在DDR中.uboot开机时一次性从Flash中读取全部环境变量到DDR中作为环境变量的初始化值,然后使用过程中都是用DDR这一份,用户可以用save ...
- 在python脚本中设置环境变量,并运行相关应用
1. 问题 在自动化应用的时候 ,有时候环境变量与运行需要不一致.这时候有两种选择: 改变节点环境变量,使得其和运行需求保持一致: 在自动化脚本中设置环境变量,其范围只在脚本运行环境中有效. 显然,当 ...
- 配置环境变量时,cmd下运行java -version,报错:找不到或无法加载主类 -version
这个方面适用于报错为:java 找不到或无法加载主类,一般是找不到类的路径,问题出在CLASSPATH环境变量上,当然这是大多数.大概率的出错点 不排除根据个人情况不况,所以想起来伟大领袖毛主席的话: ...
- java学习笔记(1)java的基础介绍 、JDK下载、配置环境变量、运行java程序
java工程师是开发软件的 什么是软件呢? 计算机包括两部分: 硬件: 鼠标.键盘.显示器.主机箱内部的cpu.内存条.硬盘等 软件: 软件包括:系统软件和应用软件 系统软件:直接和硬件交互的软件:w ...
随机推荐
- 评论beta发布
1. 组名:飞天小女警 项目名:礼物挑选小工具 评价:该系统可以通过选择所要接礼的人的性别.年龄和与送礼者的关系及所要送礼的价值,就可以推荐出所送的礼物.还可以通过男/女所选的Top前10进行简单推荐 ...
- Oracle client 使用 .net程序连接 数据库时 出现 8.1.7 的解决办法
1. GS产品 连接oracle数据库时出现错误图示 2. 其实解决这个问题的办法很简单 一般是 修改一下 Oracle的app 目录的权限 最简单的办法是增加 everyone 权限 然后重启机器即 ...
- 洛谷 P4841 城市规划 解题报告
P4841 城市规划 题意 n个有标号点的简单(无重边无自环)无向连通图数目. 输入输出格式 输入格式: 仅一行一个整数\(n(\le 130000)\) 输出格式: 仅一行一个整数, 为方案数 \( ...
- 【bzoj1040】 ZJOI2008—骑士
http://www.lydsy.com/JudgeOnline/problem.php?id=1040 (题目链接) 题意 一个基环森林,从中选出不相邻的若干个点使得这些点的点权和最大. Solut ...
- c/c++ 某些特殊数的大小
INT_MAX:2^31-1 2147483647 RAND_MAX:2^15-1 32768
- linux中awk工具的使用(转载)
awk是一个非常好用的数据处理工具.相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理,awk处理方式如下: $ awk '条件类型1{动作1} 条件类型2{动作2} ...' ...
- 如何在Ubuntu-14.04上安装g++-6.3 ?
特别注意: ppa:ubuntu-toolchain仅为尝鲜测试版,并非官方稳定版. 以下仅用于学习,不建议进行以下操作,以免出现包依赖关系问题,影响系统稳定性. askUbuntu github a ...
- Scala进阶之路-Scala函数篇详解
Scala进阶之路-Scala函数篇详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传值调用和传名调用 /* @author :yinzhengjie Blog:http: ...
- Hadoop生态圈-flume日志收集工具完全分布式部署
Hadoop生态圈-flume日志收集工具完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 目前为止,Hadoop的一个主流应用就是对于大规模web日志的分析和处理 ...
- [应用篇]第六篇 JSTL之自定义函数标签库
在之前的JSTL的总结中已经对函数标签库进行了一些说明,在这里我再一次重新整理一下! 自带函数标签库介绍 引入该标签库的方法为: <%@ taglib prefix="fn&quo ...