使用代理同步Chromium代码的心得(V2.0)
生活随笔
收集整理的這篇文章主要介紹了
使用代理同步Chromium代码的心得(V2.0)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先參看?http://www.chromium.org/developers/how-tos/build-instructions-windows
非??拥?#xff0c;谷歌獲取chromium源碼的方式又變了!!!
從chromium39.0.2313.2之后的源碼不能通過之前那種?gclient config http://***?的方式獲取了,因為之后的chromium的代碼剛好全部遷移到了git管理了!
可以看這里了解一下點擊打開鏈接(https://chromium.googlesource.com/chromium/src/+refs)
所以這篇文章又要改版了:D
一、概況 chromium現在分為四個大分支: canary:最前沿的版本,每日發布,bug一堆,不適合新人。 dev:每2星期發布,比較穩定,可以體驗新功能和新特性。 beta:每周小版本更新,6周大版本更新。比dev穩定,比同期dev版小1個版本號,基本上是stable的待發版本。 stable:比同期dev小2個版本號,2到3周次版本更新一次,每6周主版本更新。這是正式的發布版本,推薦用這個來學習,特別是新人。 具體的英文介紹可以看這里:點擊打開鏈接(http://www.chromium.org/getting-involved/dev-channel) 點擊這個網址(http://dev.chromium.org/developers/calendar)可以了解最近的Chromium版本情況。
二、Master分支代碼下載(Windows) 下面簡單說說下載過程: 1、先瀏覽器翻墻; 2、通過瀏覽器下載depot_tools.zip; ???下載地址:https://src.chromium.org/svn/trunk/tools/depot_tools.zip
3、將depot_tools.zip解壓后,將depot_tools目錄路徑添加到系統的PATH環境變量開始處; ???如PATH=c:\depot_tools;.......
4、建立一個目錄用于下載chromium代碼,比如D:\chromium,在此目錄中在建立一個目錄master; ???D:\chromium\master就是我們將要簽出代碼的主目錄
5、打開CMD,更新剛才的depot_tools,命令如下 ???x:>gclient ???注意:gclient后面不帶任何參數!! ???此時,將會依次下載安裝python和git,其中安裝git比較奇葩。第一次運行gclient命令,下載的msysgit是git-1.9.0.chromium.5_bin!!!! ???所以成功后,你需要再次運行x:>gclient ???這時才會下載到最新的git版本git-1.9.0.chromium.6_bin ???gclient完成后,查看下版本號,看看有無錯誤提示,命令如下: ???x:>gclient --version ???成功后可以運行一次gclient --version看看版本號,并注意一下有沒有錯誤提示。 6、如果之前從未使用過git,那么需要進行一下全球的git配置 ???x:>git config --global user.name "yourname" #yourname改為你希望的用戶名 ???x:>git config --global user.email "youremailaddress@gmail.com" #輸入你自己的郵箱 ???x:>git config --global core.autocrlf false ???x:>git config --global core.filemode false 7、在CMD中,切換到剛才建立的D:\chromium\master目錄中(這個目錄你自己隨便找個空間足夠的盤建立了,名字隨意) ???然后運行fetch chromium命令,此時源碼下載就開始了。 ???D:\chromium\master>fetch chromium ???注意:這是在下master分支下的最新源代碼,其中最開始的3G左右是在后臺下載的,我們在CMD窗口只看到不斷出現的 ????[0:06:10] Still working on: ????[0:06:10] ??src ???在整個源碼下載過程中,最好不要關閉CMD窗口!!!!源碼全部下載下來超過10G,所以是拼網速的時候了。 ????如果萬不得已希望暫停,請在CMD窗口按 Ctrl+C鍵中斷 ????如果異常中斷,請重新打開CMD窗口,然后執行步驟7的fetch chromium命令!不過有個例外,如果源碼已經下載完畢了(100%)的情況,但fetch chroumium提示了失敗, ????則如果要繼續下載請輸入gclient sync命令!!!! ????D:\chromium\master>gclient sync ????以上操作參看官方文章((抱歉,下面的url含有敏感詞,以圖代替)) ????
????構建相關參看官方文章 (http://dev.chromium.org/developers/how-tos/get-the-code)
三、關于翻墻的問題 ????由于眾所周知的原因,在執行步驟6時,很可能無法下載git和python,此時我們需要翻墻。如果你有VPN,那么在步驟1之前直接撥VPN,后面的內容就不用看了;否則,請繼續看: ????首先,你必須找到一個HTTP/HTTPS/SOCKS5代理服務器(找不到的話神仙也幫不了你了) ????然后,我們為CMD設置HTTP/HTTPS/SOCKS5代理 ????為完成步驟2)的gclient命令,我們需要設置系統http/https代理,這里需要用到netsh winhttp里的命令(假設http代理地址是http.proxy.com:12345) ????打開一個具有管理員權限的CMD(非常重要),在其中輸入 ????x:>netsh ????netsh>winhttp ????netsh winhttp> ????netsh winhttp> ????netsh winhttp>set proxy http.proxy.com:12345 ????設置完畢后,退出該CMD,再啟動一個普通CMD,運行gclient命令; ????x:>gclient ????這是就能順利下到python和git(注意:是git-1.9.0.chromium.5_bin)。 ????在git-1.9.0.chromium.5_bin已經能下載好后,如果再想用gclient下git-1.9.0.chromium.6_bin的話,問題就來了,下載會失敗,why? ????在下載git-1.9.0.chromium.6_bin的時候,起作用的是git-1.9.0.chromium.5_bin中的git!!!!! ????因此,在第二次運行gclient命令前,我們要為git設置好代理。 ????git支持git,http/https,ssh等協議,在這里我們只需要設置最簡單的http/https協議就行了,設置方法如下 ???(假設代理服務器地址為: http://http.proxy.com:12345, http://https.proxy.com:23456, socks5://socks.proxy.com:34567) ????先設置CMD環境變量,在CMD中輸入: ????x:>set http_proxy=http://http.proxy.com:12345 ????x:>set https_proxy=http://https.proxy.com:23456 ????x:>set socks5_proxy=socks5://https.proxy.com:23456 ????為git設置http/https代理,在CMD中輸入: ????a)使用http/https代理服務器 ????x:>git config --global http.proxy %http_proxy% ????x:>git config --global https.proxy %https_proxy% ????或者:b)使用socks5代理服務器 ????x:>git config --global http.proxy %socks5_proxy% ????x:>git config --global https.proxy %socks5_proxy% ????設置完后,用下面命令看是否成功: ????x:>git config --get http.proxy ????x:>git config --get https.proxy ????如果顯示代理都正確,就繼續執行步驟2)里的第二次gclient命令 ????x:>gclient ????等git-1.9.0.chromium.6_bin更新成功后,就可以繼續步驟6)和7)了
備注: ????代碼同步成功后,記得回復系統設置哦 ????1)恢復netsh winhttp設置為直連 ????打開一個具有管理員權限的CMD,輸入下面命令 ????x:>netsh ????netsh>winhttp ????netsh winhttp> ????netsh winhttp>reset proxy ????輸入下面命令看清除是否成功,成功后顯示下面信息 ????netsh winhttp>show proxy ????Current WinHTTP proxy settings: ????????Direct access (no proxy server). ????關于netsh部分,請到Microsoft這個頁面詳細查看(https://technet.microsoft.com/zh-CN/library/bb430772)
????2)清除git代理 ????打開一個普通的CMD,輸入下面的命令 ????git config --global --unset http.proxy
四、download_from_google_storage錯誤處理 如果使用http代理同步chromium代碼,在執行fetch chromium或者gclient sync的最后會提示下面的錯誤,無法生成sln文件。Failed download_from_google_storage --no_resume --platform=win32 --no_auth ??--bucket chromium-gn -s src/buildtools/linux32/gn.sha1?NOTICE: You have PROXY values set in your environment, but gsutil in ??depot_tools does not (yet) obey them.?Also, --no_auth prevents the normal BOTO_CONFIG environment variable from ??being used.?To use a proxy in this situation, please supply those settings in a .boto ??file pointed to by the NO_AUTH_BOTO_CONFIG environment var. 解決辦法,隨便找個地方生成一個文本文件,比如 D:\boto.cfg 在該文件中輸入下面的內容(假設代理服務器是?http://http.proxy.com:12345): [Boto]proxy=http://http.proxy.comproxy_port =?12345
然后設置環境變量 set NO_AUTH_BOTO_CONFIG=D:\boto.cfg 再執行fetch chromium或者gclient sync
附錄: 1、netsh 使用 set proxy 命令配置代理設置。您可以在鍵入此命令時加上一個問號,來查看此命令的語法。 netsh winhttp>set proxy /? 本示例指定 HTTP 服務器和 HTTPS 服務器都要通過代理服務器 proxy_server 進行訪問,但由“”參數指定的主機名不包含句點的服務器除外。 netsh winhttp>set proxy proxy_server "" 本示例通過使用 import proxy 命令導入 Internet Explorer 使用的代理信息。 netsh winhttp>import proxy source=ie 本示例使用 reset proxy 命令將 WinHTTP 代理重置為 DIRECT。 netsh winhttp>reset proxy 即使您未運行代理服務器,我們也建議您使用 Netsh.exe 檢查以前是否設置過代理。本示例通過在不帶任何參數的情形下運行該工具來顯示當前配置。 netsh winhttp>show proxy 實例: 1. netsh winhttp set proxy 127.0.0.1 2. netsh winhttp set proxy 127.0.0.1:8080 2. netsh winhttp set proxy 127.0.0.1:8080? 4. netsh winhttp set proxy proxy-server="http=myproxy:80;https=myproxy:80" bypass-list="*.abc.com"
一、概況 chromium現在分為四個大分支: canary:最前沿的版本,每日發布,bug一堆,不適合新人。 dev:每2星期發布,比較穩定,可以體驗新功能和新特性。 beta:每周小版本更新,6周大版本更新。比dev穩定,比同期dev版小1個版本號,基本上是stable的待發版本。 stable:比同期dev小2個版本號,2到3周次版本更新一次,每6周主版本更新。這是正式的發布版本,推薦用這個來學習,特別是新人。 具體的英文介紹可以看這里:點擊打開鏈接(http://www.chromium.org/getting-involved/dev-channel) 點擊這個網址(http://dev.chromium.org/developers/calendar)可以了解最近的Chromium版本情況。
二、Master分支代碼下載(Windows) 下面簡單說說下載過程: 1、先瀏覽器翻墻; 2、通過瀏覽器下載depot_tools.zip; ???下載地址:https://src.chromium.org/svn/trunk/tools/depot_tools.zip
3、將depot_tools.zip解壓后,將depot_tools目錄路徑添加到系統的PATH環境變量開始處; ???如PATH=c:\depot_tools;.......
4、建立一個目錄用于下載chromium代碼,比如D:\chromium,在此目錄中在建立一個目錄master; ???D:\chromium\master就是我們將要簽出代碼的主目錄
5、打開CMD,更新剛才的depot_tools,命令如下 ???x:>gclient ???注意:gclient后面不帶任何參數!! ???此時,將會依次下載安裝python和git,其中安裝git比較奇葩。第一次運行gclient命令,下載的msysgit是git-1.9.0.chromium.5_bin!!!! ???所以成功后,你需要再次運行x:>gclient ???這時才會下載到最新的git版本git-1.9.0.chromium.6_bin ???gclient完成后,查看下版本號,看看有無錯誤提示,命令如下: ???x:>gclient --version ???成功后可以運行一次gclient --version看看版本號,并注意一下有沒有錯誤提示。 6、如果之前從未使用過git,那么需要進行一下全球的git配置 ???x:>git config --global user.name "yourname" #yourname改為你希望的用戶名 ???x:>git config --global user.email "youremailaddress@gmail.com" #輸入你自己的郵箱 ???x:>git config --global core.autocrlf false ???x:>git config --global core.filemode false 7、在CMD中,切換到剛才建立的D:\chromium\master目錄中(這個目錄你自己隨便找個空間足夠的盤建立了,名字隨意) ???然后運行fetch chromium命令,此時源碼下載就開始了。 ???D:\chromium\master>fetch chromium ???注意:這是在下master分支下的最新源代碼,其中最開始的3G左右是在后臺下載的,我們在CMD窗口只看到不斷出現的 ????[0:06:10] Still working on: ????[0:06:10] ??src ???在整個源碼下載過程中,最好不要關閉CMD窗口!!!!源碼全部下載下來超過10G,所以是拼網速的時候了。 ????如果萬不得已希望暫停,請在CMD窗口按 Ctrl+C鍵中斷 ????如果異常中斷,請重新打開CMD窗口,然后執行步驟7的fetch chromium命令!不過有個例外,如果源碼已經下載完畢了(100%)的情況,但fetch chroumium提示了失敗, ????則如果要繼續下載請輸入gclient sync命令!!!! ????D:\chromium\master>gclient sync ????以上操作參看官方文章((抱歉,下面的url含有敏感詞,以圖代替)) ????
????構建相關參看官方文章 (http://dev.chromium.org/developers/how-tos/get-the-code)
三、關于翻墻的問題 ????由于眾所周知的原因,在執行步驟6時,很可能無法下載git和python,此時我們需要翻墻。如果你有VPN,那么在步驟1之前直接撥VPN,后面的內容就不用看了;否則,請繼續看: ????首先,你必須找到一個HTTP/HTTPS/SOCKS5代理服務器(找不到的話神仙也幫不了你了) ????然后,我們為CMD設置HTTP/HTTPS/SOCKS5代理 ????為完成步驟2)的gclient命令,我們需要設置系統http/https代理,這里需要用到netsh winhttp里的命令(假設http代理地址是http.proxy.com:12345) ????打開一個具有管理員權限的CMD(非常重要),在其中輸入 ????x:>netsh ????netsh>winhttp ????netsh winhttp> ????netsh winhttp> ????netsh winhttp>set proxy http.proxy.com:12345 ????設置完畢后,退出該CMD,再啟動一個普通CMD,運行gclient命令; ????x:>gclient ????這是就能順利下到python和git(注意:是git-1.9.0.chromium.5_bin)。 ????在git-1.9.0.chromium.5_bin已經能下載好后,如果再想用gclient下git-1.9.0.chromium.6_bin的話,問題就來了,下載會失敗,why? ????在下載git-1.9.0.chromium.6_bin的時候,起作用的是git-1.9.0.chromium.5_bin中的git!!!!! ????因此,在第二次運行gclient命令前,我們要為git設置好代理。 ????git支持git,http/https,ssh等協議,在這里我們只需要設置最簡單的http/https協議就行了,設置方法如下 ???(假設代理服務器地址為: http://http.proxy.com:12345, http://https.proxy.com:23456, socks5://socks.proxy.com:34567) ????先設置CMD環境變量,在CMD中輸入: ????x:>set http_proxy=http://http.proxy.com:12345 ????x:>set https_proxy=http://https.proxy.com:23456 ????x:>set socks5_proxy=socks5://https.proxy.com:23456 ????為git設置http/https代理,在CMD中輸入: ????a)使用http/https代理服務器 ????x:>git config --global http.proxy %http_proxy% ????x:>git config --global https.proxy %https_proxy% ????或者:b)使用socks5代理服務器 ????x:>git config --global http.proxy %socks5_proxy% ????x:>git config --global https.proxy %socks5_proxy% ????設置完后,用下面命令看是否成功: ????x:>git config --get http.proxy ????x:>git config --get https.proxy ????如果顯示代理都正確,就繼續執行步驟2)里的第二次gclient命令 ????x:>gclient ????等git-1.9.0.chromium.6_bin更新成功后,就可以繼續步驟6)和7)了
備注: ????代碼同步成功后,記得回復系統設置哦 ????1)恢復netsh winhttp設置為直連 ????打開一個具有管理員權限的CMD,輸入下面命令 ????x:>netsh ????netsh>winhttp ????netsh winhttp> ????netsh winhttp>reset proxy ????輸入下面命令看清除是否成功,成功后顯示下面信息 ????netsh winhttp>show proxy ????Current WinHTTP proxy settings: ????????Direct access (no proxy server). ????關于netsh部分,請到Microsoft這個頁面詳細查看(https://technet.microsoft.com/zh-CN/library/bb430772)
????2)清除git代理 ????打開一個普通的CMD,輸入下面的命令 ????git config --global --unset http.proxy
四、download_from_google_storage錯誤處理 如果使用http代理同步chromium代碼,在執行fetch chromium或者gclient sync的最后會提示下面的錯誤,無法生成sln文件。Failed download_from_google_storage --no_resume --platform=win32 --no_auth ??--bucket chromium-gn -s src/buildtools/linux32/gn.sha1?NOTICE: You have PROXY values set in your environment, but gsutil in ??depot_tools does not (yet) obey them.?Also, --no_auth prevents the normal BOTO_CONFIG environment variable from ??being used.?To use a proxy in this situation, please supply those settings in a .boto ??file pointed to by the NO_AUTH_BOTO_CONFIG environment var. 解決辦法,隨便找個地方生成一個文本文件,比如 D:\boto.cfg 在該文件中輸入下面的內容(假設代理服務器是?http://http.proxy.com:12345): [Boto]proxy=http://http.proxy.comproxy_port =?12345
然后設置環境變量 set NO_AUTH_BOTO_CONFIG=D:\boto.cfg 再執行fetch chromium或者gclient sync
附錄: 1、netsh 使用 set proxy 命令配置代理設置。您可以在鍵入此命令時加上一個問號,來查看此命令的語法。 netsh winhttp>set proxy /? 本示例指定 HTTP 服務器和 HTTPS 服務器都要通過代理服務器 proxy_server 進行訪問,但由“”參數指定的主機名不包含句點的服務器除外。 netsh winhttp>set proxy proxy_server "" 本示例通過使用 import proxy 命令導入 Internet Explorer 使用的代理信息。 netsh winhttp>import proxy source=ie 本示例使用 reset proxy 命令將 WinHTTP 代理重置為 DIRECT。 netsh winhttp>reset proxy 即使您未運行代理服務器,我們也建議您使用 Netsh.exe 檢查以前是否設置過代理。本示例通過在不帶任何參數的情形下運行該工具來顯示當前配置。 netsh winhttp>show proxy 實例: 1. netsh winhttp set proxy 127.0.0.1 2. netsh winhttp set proxy 127.0.0.1:8080 2. netsh winhttp set proxy 127.0.0.1:8080? 4. netsh winhttp set proxy proxy-server="http=myproxy:80;https=myproxy:80" bypass-list="*.abc.com"
總結
以上是生活随笔為你收集整理的使用代理同步Chromium代码的心得(V2.0)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unknown SSL protocol
- 下一篇: PKG_CONFIG_PATH错误提示解