解決方案:指定https方式,使用代理
錯誤提示:
$ npm install
......
bower angular-mocks#1.5.x ECMDERR Failed to execute "git ls-remote --tags --heads
https://github.com/angular/bower-angular-mocks.git", exit code of #128 fatal: unable to access
'https://github.com/angular/bower-angular-mocks.git/': Empty reply from server
Additional error details:
fatal: unable to access 'https://github.com/angular/bower-angular-mocks.git/': Empty reply from server
複製程式碼
分析:這段指令碼執行區git拉取程式碼所用到(預設用ssh)的埠被禁止使用.應該改用https的方式進行下載.
最後在堆疊溢位找到這個方案
git config --global url."https://".insteadOf git://
複製程式碼
再次執行 這個問題沒再出現
$ npm install
複製程式碼
ps: 這個https方式有機率會報錯
分析:這裡是被牆了
錯誤提示
$ npm install
......
ECMDERR Failed to execute "git ls-remote --tags --heads
https://github.com/angular/bower-angular-animate.git", exit code of #128 fatal: unable to access
'https://github.com/angular/bower-angular-animate.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
複製程式碼
分析原因還是因為https的方式,撞在了牆上.git預設是不走系統代理的,所以我們需要指定代理來使用https拉取github程式碼.
解決方案:配置代理
代理配置方法如下(當然啦,最後那個 url 改成自己的代理地址和埠):
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
複製程式碼
撤銷代理:
git config --global --unset http.proxy
git config --global --unset https.proxy
複製程式碼
如果要查當前的代理配置,分別是:
git config --global --get http.proxy
git config --global --get https.proxy
複製程式碼
最後成功執行
$ npm install
......
angular-resource#1.5.11 app\bower_components\angular-resource
└── angular#1.5.11
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted
{"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
up to date in 106.584s
複製程式碼