Giter Club home page Giter Club logo

g's People

Contributors

akayj avatar dependabot[bot] avatar haokunt avatar hmsjy2017 avatar jan-bar avatar mingcheng avatar voidint avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

g's Issues

支持Travis CI

language: go

sudo: false

go:
    - master

before_install:
    - go get github.com/mattn/goveralls

script:
    - GOOS=darwin go build
    - GOOS=windows go build
    - GOOS=linux go build
    - $HOME/gopath/bin/goveralls -service=travis-ci

不支持ARM架构

尝试了下在树莓派上用这个工具,遇到的一个问题,install的时候,下载的不是ARM版本的,执行go的时候报错

pi@raspberrypi:~ $ go version
-bash: /home/pi/.g/go/bin/go: cannot execute binary file: Exec format error

我是在Windows上交叉编译了g的源码,然后上传到树莓派上

Access is denied.

  1. 安装go的时候出现重命名的Access is denied 错误。
  2. 错误信息如下:
    [g] Rename C:\Users\username\.g\versions\go C:\Users\username\.g\versions\1.12: Access is denied.
    请问是什么原因造成的,试过用管理员方式打开powershell
    @voidint

支持Windows系统

  • Windows的压缩包与macOS、Linux等类UNIX系统的压缩包不同,Windows下使用的是zip压缩包。#14
  • Windows系统自Windows Vista开始支持符号链接,更老的版本并不支持该特性,因此可能无法用g安装go版本。http://www.maxi-pedia.com/mklink

~/.g目录规划

$ tree -L 2 ~/.g
/Users/voidint/.g
├── downloads
│   ├── go1.11.9.darwin-amd64.tar.gz
│   └── go1.12.4.darwin-amd64.tar.gz
├── go -> /Users/voidint/.g/versions/1.12.4
└── versions
    ├── 1.12.4
    └── 1.8.1

错误提示信息首字母大写

  • 修改前:[g] file checksum does not match the computed checksum
  • 修改后:[g] File checksum does not match the computed checksum

不同版本的go的gopath

想问下大佬支持多gopath的管理吗, 我使用的go1.14的protobuf的插件是安装在gopath的bin目录下的, 然后我是直接将这个gopath的bin目录添加到了PATH下, 这样相当于切换不同的go版本如果需要gopath的相关工具都需要手动指定。想问下g可以进行相关的管理吗

Goland debug 异常

Hi~,我通过g的方式去安装的Go,然后在Goalnd debug程序的时候,窗口显示是:Frame is not available。然后我卸载g已经环境变量之后,用go官方的exe安装包,同样的程序,同样的位置debug的时候,能够正常暂停,并显示变量。
不知道有没有遇到过这样的情况呢?

mark

这个是我近段时间思考要做的一个轮子,没想到已经有大佬做出来了,准备下载看看大佬的实现

独立 gopath/bin

部分 go 相关工具会生成 bin 文件,要向其它语言一样隔离各个环境最好 gopath/bin 也能隔离,gopath/bin 也用软链接,只是更新链接后,新环境并不会自动编译,也许可以按 pipenv 的思路按工程生成 gopath,只是因为最后链接到同一个位置,同时打开多个工程会相互干扰

[g] Installation package(/dl/go1.14.4.darwin-amd64.tar.gz) download failed ==> Get "/dl/go1.14.4.darwin-amd64.tar.gz": unsupported protocol scheme ""

g version 1.1.2
build: 2020-05-05T15:23:28+08:00
branch: master
commit: c243baa

$ echo $G_MIRROR;
https://golang.google.cn/dl/
 $ g install 1.14.4 
[g] Installation package(/dl/go1.14.4.darwin-amd64.tar.gz) download failed ==> Get "/dl/go1.14.4.darwin-amd64.tar.gz": unsupported protocol scheme ""

Hi
一直 install 都报这个错误,但是可以通过 g ls-remote 看到这个版本,报错信息如上 unsupported protocol scheme

增加未发布的一个实验版本

多版本管理最主要的功能之一就是实验新特性,通过增加go未发布的实验版本,可以进行相关的特性实验,比如增加go version 1.18 可以进行工作区和泛型的相关实验。

'g install <version>'安装指定go版本

  • 校验版本号是否合法
  • 查询目标版本是否已经安装
  • 查询当前的机器的操作系统及硬件架构
  • 查询~/.g/downloads/是否包含目标版本的安装包
    • 若安装包已存在,计算SHA256 Checksum并与官方站点上的值进行比较。
      • SHA256 Checksum值不相等,删除本地目标版本安装包,从官方站点下载安装包至~/.g/downloads/目录。
    • 若安装包不存在,则从官方站点下载安装包至~/.g/downloads/目录。
  • 将安装包(.tar.gz)解压安装至~/.g/versions目录,并将~/.g/versions/go目录重命名为~/.g/versions/${版本号}
  • 将目标版本目录链接至~/.g/go

m1 版本的go无法安装

你好,目前ls-remote只能列出版本号,但是没有架构名称。 如果是直接安装16.2则为amd64的,希望能支持选择架构安装

g install 1 安装不成功

运行命令:g install 1 会安装不成功,
`
g install 1

[g] Installation package not found
`
查看官网后发现是因为版本为1不是按照一般的命名规范进行命名。

install.sh安装脚本优化

  • 将二进制文件g默认安装至$HOME/.go/bin目录下
  • 将设置环境变量的脚本放置在$HOME/.go/env文件内并在$HOME/.bashrc文件内将其导入

[g] file checksum does not match the computed checksum

复现步骤

  • 安装某个go版本并且在安装包下载过程中主动终止安装(如ctrl+c),此时~/.g/downloads目录下会存在一个下载未完全的安装包。
  • 再次尝试安装该go版本。
  • 由于~/.g/downloads目录下已经存在一个与预期相同的安装包文件,g会跳过下载步骤,直接开始校验该安装包的校验和,由于该安装包不完整,校验和与预期不一致。
  • 除非手动删除该安装包文件,否则无法安装该版本。

'g update'自我更新

如何获取当前可执行程序的绝对路径?

  • Linux: os.Readlink("/proc/self/exe")
  • exec.LookPath("g")方式可能并不准确,因为依赖于PATH环境变量。

支持从环境变量G_MIRROR中读取go官方网站镜像URL

  • go官方网站下载地址为https://golang.org/dl/,默认从此网址读取版本信息。
  • 同时允许设置G_MIRROR环境变量指定镜像地址,这对于**大陆这类网络自由受到一定限制的地区有一定意义。已知的镜像地址:https://golang.google.cn/dl/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.