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运行出现异常的更多相关文章

  1. 在uboot里面加入环境变量使用run来运行

    Author:杨正  Date:2014.11.11   Email:yz2012ww@gmail.com QQ:1209758756 在移植uboot的时候,能够在uboot里面加入定义一些自己的环 ...

  2. jdk&tomcat环境变量配置及同时运行多个tomcat方法

    一:jdk配置 安装jdk1.7.0_51,安装过程中所有选项保持默认:最后配置 JDK的环境变量: 在“我的电脑”上点右键—>“属性”—>“高级”—>“环境变量(N)”. 1.新建 ...

  3. 解决Ubuntu环境变量错误导致无法正常登录

    一.问题产生 配置JDK时,按照搜索到的一篇文章中的做法,修改了/etc/profile文件里的内容.在原内容保持不变的基础上,大致添加了以下内容: export JAVA_HOME=.... exp ...

  4. 解决Ubuntu环境变量错误导致无法正常登录  (command 'xxx' is available in bin ls)

    一.问题产生 配置JDK时,按照搜索到的一篇文章中的做法,修改了/etc/profile文件里的内容.在原内容保持不变的基础上,大致添加了以下内容: export JAVA_HOME=.... exp ...

  5. 安装JDK+Tomcat,进行环境变量设置,和运行JSP

    系统:windows 7 64-bit 安装前需要用到的软件 JDK7u21 Tomcat 8.0 下载64-bit Windows zip就好 安装JDK7u21 和平常安装软件一样,路径也不要动, ...

  6. 嵌入式Linux环境变量如何参与程序运行

    1.环境变量一共有两份,一份在Flash中,另一份在DDR中.uboot开机时一次性从Flash中读取全部环境变量到DDR中作为环境变量的初始化值,然后使用过程中都是用DDR这一份,用户可以用save ...

  7. 在python脚本中设置环境变量,并运行相关应用

    1. 问题 在自动化应用的时候 ,有时候环境变量与运行需要不一致.这时候有两种选择: 改变节点环境变量,使得其和运行需求保持一致: 在自动化脚本中设置环境变量,其范围只在脚本运行环境中有效. 显然,当 ...

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

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

  9. java学习笔记(1)java的基础介绍 、JDK下载、配置环境变量、运行java程序

    java工程师是开发软件的 什么是软件呢? 计算机包括两部分: 硬件: 鼠标.键盘.显示器.主机箱内部的cpu.内存条.硬盘等 软件: 软件包括:系统软件和应用软件 系统软件:直接和硬件交互的软件:w ...

随机推荐

  1. 评论beta发布

    1. 组名:飞天小女警 项目名:礼物挑选小工具 评价:该系统可以通过选择所要接礼的人的性别.年龄和与送礼者的关系及所要送礼的价值,就可以推荐出所送的礼物.还可以通过男/女所选的Top前10进行简单推荐 ...

  2. Oracle client 使用 .net程序连接 数据库时 出现 8.1.7 的解决办法

    1. GS产品 连接oracle数据库时出现错误图示 2. 其实解决这个问题的办法很简单 一般是 修改一下 Oracle的app 目录的权限 最简单的办法是增加 everyone 权限 然后重启机器即 ...

  3. 洛谷 P4841 城市规划 解题报告

    P4841 城市规划 题意 n个有标号点的简单(无重边无自环)无向连通图数目. 输入输出格式 输入格式: 仅一行一个整数\(n(\le 130000)\) 输出格式: 仅一行一个整数, 为方案数 \( ...

  4. 【bzoj1040】 ZJOI2008—骑士

    http://www.lydsy.com/JudgeOnline/problem.php?id=1040 (题目链接) 题意 一个基环森林,从中选出不相邻的若干个点使得这些点的点权和最大. Solut ...

  5. c/c++ 某些特殊数的大小

    INT_MAX:2^31-1 2147483647 RAND_MAX:2^15-1    32768

  6. linux中awk工具的使用(转载)

    awk是一个非常好用的数据处理工具.相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理,awk处理方式如下: $ awk '条件类型1{动作1} 条件类型2{动作2} ...' ...

  7. 如何在Ubuntu-14.04上安装g++-6.3 ?

    特别注意: ppa:ubuntu-toolchain仅为尝鲜测试版,并非官方稳定版. 以下仅用于学习,不建议进行以下操作,以免出现包依赖关系问题,影响系统稳定性. askUbuntu github a ...

  8. Scala进阶之路-Scala函数篇详解

    Scala进阶之路-Scala函数篇详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传值调用和传名调用 /* @author :yinzhengjie Blog:http: ...

  9. Hadoop生态圈-flume日志收集工具完全分布式部署

    Hadoop生态圈-flume日志收集工具完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   目前为止,Hadoop的一个主流应用就是对于大规模web日志的分析和处理 ...

  10. [应用篇]第六篇 JSTL之自定义函数标签库

      在之前的JSTL的总结中已经对函数标签库进行了一些说明,在这里我再一次重新整理一下! 自带函数标签库介绍 引入该标签库的方法为: <%@ taglib prefix="fn&quo ...