2017-11-07 20 views
0

私はTFS2017サーバ上にPackage Management拡張子を持つnpmレジストリをホストしています。ホスト名の一部はdnsXxxで、.comのような拡張子はなく、ポート8080に設定されています。私はスコープ@abcにパッケージのこのリポジトリを定義するために.npmrcファイルを使用しています:私は、.npmrcファイルを含むフォルダから、npm i @abc/mypackageのようなコマンドを使用して、そのパッケージのいずれかをインストールしようとしたnpmレジストリURLを変更してインストールします

@abc:registry=http://dnsXxx:8080/tfs/.../npm/registry/ 
@abc:proxy=null 
@abc:always-auth=true 

コマンドが最後に失敗するのに時間がかかるnpm ERR! 503 Service Unavailable: @abc/[email protected]。その結果、GET http://www.dnsXxx.com/tfs/.../npm/registry/@abc%2fmypackage HTTP/1.1

  • ポート
  • www.ホストプレフィックスと.comが欠落しているWireSharkのを使用して

    は、私がNPMによって呼び出されたURLは、私はそのように「正規化」を推測修正されたことを考え出しましたホストの拡張子が不適切に追加されました

ブラウザで固定URLを呼び出した場合は、http://dnsXxx:8080/tfs/.../npm/registry/@abc%2fmypackageと期待されるJSONの回答が返されます。

誰にも解決策はありますか?

答えて

0

この問題は、.npmrcファイルにproxy=nullと指定されたentrepriseプロキシが原因でした。これは、ホスト名を再構成するプロキシです。サーバーIPアドレスに切り替えて認証トークンを更新すると、最終的に成功しました。

@abc:registry=http://10.x.y.z:8080/tfs/.../npm/registry/ 
@abc:always-auth=true 

; Treat this auth token like a password. Do not share it with anyone, including Microsoft support. This token expires on or before 05-Feb-18. 
; begin auth token 
//10.x.y.z:8080/tfs/.../npm/registry/:_authToken=...  
//10.x.y.z:8080/tfs/.../npm/:_authToken=... 
; end auth token 
関連する問題