[英]Skip GitHub dependencies with npm install
簡要介紹一下,我有自動構建的程序,該程序會安裝NPM的依賴項以對它們進行一些分析。 因此,重要的是要考慮,在運行npm install
,該應用程序甚至不需要工作,我只需要依賴項即可。
為了簡單起見,假設我來自package.json的dependencies
看起來像這樣(實際上有更多的依賴項,但是它們並不重要):
"dependencies": {
"pdf2json": "git://github.com/jmdeejay/pdf2json.git#a384122f",
"phone": "~2.3.7",
},
可以安裝phone
沒有任何問題,但pdf2json
卻沒有。
當我運行npm install
,出現以下錯誤:
[10:21:19][Step 1/4] npm ERR! C:\Program Files\Git\cmd\git.EXE ls-remote -h -t git://github.com/jmdeejay/pdf2json.git
[10:21:19][Step 1/4] npm ERR!
[10:21:19][Step 1/4] npm ERR! fatal: unable to connect to github.com:
[10:21:19][Step 1/4] npm ERR! github.com[0: 192.30.253.112]: errno=No such file or directory
[10:21:19][Step 1/4] npm ERR! github.com[1: 192.30.253.113]: errno=No such file or directory
[10:21:19][Step 1/4] npm ERR!
[10:21:19][Step 1/4] npm ERR!
[10:21:19][Step 1/4] npm ERR! exited with error code: 128
我相信它可能與構建服務器的防火牆或所述服務器的某些配置有關,但這不是我要解決的問題。
我查看了npm-config和npm安裝文檔,但是找不到想要的標志。 我想知道: 是否有一種方法可以跳過NPMrepository以外的其他來源的依賴關系,或者在其中一個失敗時繼續安裝依賴關系?
我不需要分析此軟件包,因為它間接地屬於我的組織,因此跳過它會很好,但是我不能簡單地將其從package.json
刪除,因為它實際上是用於將應用程序安裝在其他情況。
編輯
有評論指出使用git://
可能不是一個好的解決方案,但是根據NPM文檔,這應該可以工作。 以下屏幕截圖來自npm文檔 ,第四行與我的配置匹配
我可以確認git://
不是拼寫錯誤,它是在正在運行的項目的package.json
中以這種方式鍵入的。 我也沒有機會更改此配置文件,因為我沒有該項目的所有權。
回答我自己的問題感覺很尷尬,但是我在@evolutionbox的評論幫助下找到了解決方案。
我無法修改package.json
文件,但最終在腳本中這樣做:
git config --global url."https://".insteadOf "git://"
npm install
git config --global url."git://".insteadOf "https://"
這樣,我臨時將我的配置更改為可以正常工作的內容(盡管根據npm的文檔, git://
應該可以正常工作)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.