Любой умный способ вернуть exp / html после Go1? - PullRequest
5 голосов
/ 03 апреля 2012

Я установил версию выпуска Go от имени root. Go1 удалил все exp / code.

Есть ли умный способ вернуть exp / * после Go1? (Я имею в виду, как установить в моем местном GOPATH?)

[Мое решение]

# 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 .

Ответы [ 5 ]

5 голосов
/ 03 апреля 2012

Библиотека exp / html была неполной, поэтому она была удалена для Go1.

Однако, если вы действительно хотите ее использовать,

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

может установить ее обратно для вас.Если вам нужен немного более полный html-анализатор, тогда вы можете воспользоваться http://code.google.com/p/go-html-transform/, а также иметь html5-анализатор и библиотеку скрепления и преобразования на основе селектора css.

РЕДАКТИРОВАТЬ : Судя по всему, попытка получить пакет таким способом на самом деле не работает.Похоже, единственный способ установить это - извлечь исходный код go и затем установить его из исходного кода.Это действительно очень быстрый и безболезненный процесс, если вы хотите пойти по этому пути.

2 голосов
/ 05 апреля 2012

Построение из источника - способ сделать это.Однако, когда вы выполните шаг hg update, обратите внимание, что, поскольку дерево опыта не помечено как go1, hg update release не получит его за вас.Вместо этого hg update weekly получит его, и это, вероятно, то, что вы хотите.

Редактировать: Еженедельные выпуски были прекращены после Go 1, поэтому hg update weekly будет иметь доступ к все более устаревшему коду.Лучшая стратегия - hg update tip, затем скопируйте каталог exp или интересующие каталоги куда-нибудь и перекомпилируйте его с любой версией Go, которую вы используете, например, Go 1.0.1.

1 голос
/ 06 ноября 2014

Примечание: с ходом 1.4 (Q4, 2014), URL для этого пакета exp изменится (снова) :

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

Это означает, что теперь:

go get golang.org/x/exp

См. « Переименование Go 1.4 subrepo ».

Что касается пакета html, он находится в net/html, так что это станет (как прокомментировано andybalholm ):

go get golang.org/x/net/html
0 голосов
/ 01 мая 2013

Пакеты exp теперь перемещены в разные репозитории, чтобы их было проще устанавливать. Теперь вы можете установить бывший exp / html с помощью go get "golang.org/x/net/html".

0 голосов
/ 10 декабря 2012

Этот ответ устарел.

Об этом рассказывается в вики голанга:

https://code.google.com/p/go-wiki/wiki/InstallingExp

% cd $GOPATH/src
% hg clone https://code.google.com/p/go go-exp
requesting all changes
adding changesets
adding manifests
adding file changes
added 13323 changesets with 50185 changes to 7251 files (+5 heads)
updating to branch default
3464 files updated, 0 files merged, 0 files removed, 0 files unresolved
% mv go-exp/src/pkg/exp .
% rm -rf go-exp
% go install exp/...

Затем, чтобы использовать его:

import "exp/proxy"

Я пробовал это несколько месяцев назад, и это работало довольно хорошо. Кроме того, когда я запускал go install ..., я ограничивал его только интересующим меня пакетом: go install exp/html (если я правильно помню).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...