0%

Some thought about golang package management

程式語言的Package management要做好很難
於是就有讓人吐槽的地方,這次我們的對象就是golang
談談我不喜歡的兩個點吧

Package path

當要下載相依Package的時候,預先放在${GOPATH}/src
而不適放在Repository個某的目錄底下,這種方式我不喜歡
不喜歡的點在於
– 萬一修改了相依package的程式碼,而沒在Repository沒看到任何修改,忘記這件事的機率還蠻大的
– 如果修改了相依Package的程式碼,想要Send Request給Pacagage的Maintainer,但是對方不接受,於是要自己Fork出一份,這就遇到產生另外一個問題

import url issue

在golang的世界隨處可見

1
import "github.com/xxx/yyy"

這樣的程式碼,當你決定要Fork出自己的Pacakge之後
可能就變成

1
import "github.com/zzz/yyy"

所有上面的程式碼都要跟著改掉,非常冗餘的資訊
一次commit就修改所有一模一樣的import path
Relative imports
這提案還在討論,不過我想通過的機會也不大