Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any smart method to get exp/html back after Go1?

Tags:

go

I've installed the Go release version as root. Go1 removed all exp/ code.

Is there smart method to get exp/* back after Go1? (I mean how to install in my local GOPATH?)

[My Solution]

# pull from go repository to $HOME/repo/go
cd $HOME/repo
hg clone https://go.googlecode.com/hg/go
# make symbolic link to your GOPATH(eg. $HOME/go)
cd $HOME/go/src
ln -s $HOME/repo/go/src/pkg/exp .
like image 957
Daniel YC Lin Avatar asked Apr 03 '12 02:04

Daniel YC Lin


3 Answers

The exp/html library was incomplete which is why it was removed for Go1.

However if you really want to use it then

go get code.google.com/p/go/src/pkg/exp/html

may install it back for you. If you want a slightly more complete html parser then you might checkout http://code.google.com/p/go-html-transform/ as well it has an html5 parser as well as a css selector based scraping and transformation library.

EDIT: Apparently trying to go get the package that way doesn't really work. It appears the only way to install this is to checkout the go source code and then install from source. This is actually a really quick an painless process if you want to go that route.

like image 129
Jeremy Wall Avatar answered Sep 19 '22 21:09

Jeremy Wall


Building from source is the way to do this. When you do the hg update step though, note that since the exp tree is not tagged go1, that hg update release won't get it for you. Instead hg update weekly will get it, and is probably what you want.

Edit: Weekly releases were discontinued after Go 1, so hg update weekly will access increasingly stale code. A better strategy is hg update tip, then copy the exp directory or directories of interest somewhere and recompile it with whatever Go version you are using, Go 1.0.1, for example.

like image 23
Sonia Avatar answered Sep 19 '22 21:09

Sonia


Note: with go 1.4 (Q4, 2014), the url for that exp package will change (again):

code.google.com/p/go.exp => golang.org/x/exp

That means now:

go get golang.org/x/exp

See "Go 1.4 subrepo renaming".

Regarding the html package, it is in net/html, so this will become (as commented by andybalholm):

go get golang.org/x/net/html
like image 43
VonC Avatar answered Sep 19 '22 21:09

VonC