私はVS Codeで作業しており、昨日このエラーが発生し始めました。私のjsonファイルには、ほんの数個ではなく、すべてこのエラーがあります。記憶が正しければ、昨日または前日にプログラムが更新されました。更新によって何かが壊れたり、設定を忘れていた設定がリセットされたりしましたか?
これを調べるとき、人々はスキーマをダウンロードしてローカルで使用することについて話しているが、私はそれをする必要はなく、代わりにこれが壊れた理由を知りたいですか?
私はプロキシを使用していますが、私が知る限り、それは変更されていません。ここに私が得ている正確なエラーがあります。
参照の読み込みの問題 ' https://schemastore.azurewebsites.net/schemas/json/package.json ': ' https://schemastore.azurewebsites.net/からスキーマを読み込めませんschemas/json/package.json ': https://schemastore.azurewebsites.net/schemas/json/package.json に接続できません。エラー:ECONNREFUSED 168.62.224.13:443に接続
私はAngular 6で次の問題に直面していました:
参照の読み込みの問題 ' https://schemastore.azurewebsites.net/schemas/json/package.json ': ' https://schemastore.azurewebsites.net/からスキーマを読み込めませんschemas/json/package.json ': https://schemastore.azurewebsites.net/schemas/json/package.json に接続できません。エラー:ローカル発行者証明書を取得できません
ユーザー設定ファイルの最後に次のプロパティを追加し、私のために働きました:
"http.proxy": "",
"http.proxyAuthorization": null,
"http.proxyStrictSSL": false
私は会社のプロキシの背後にいますが、それはすべて自動であるため詳細はわかりません。この問題にはしばらくの間バグがあります。
これが普遍的なソリューションであるかどうかはわかりませんが、 この問題 によると、http.proxySupport設定はデフォルトで「オーバーライド」になっています。この設定をオフにすると、エラーが消えました。
"http.proxySupport": "off"
"http.proxyStrictSSL":falseを設定するというアイデアが気に入らなかったので、検索を開始し、AzureのSchemaStoreサイトで Issue を見つけました。これを見た後、私は私のプロキシが証明書と認証に何らかの問題を抱えていると結論付けました。私がやったことは、package.jsonファイルの次のセッションですべての「https」を「http」に変更することでした(私のパスはC:\ Program Files\Microsoft VS Code\resources\app\extensions\TypeScript-basics\packageにありました.json)。
"jsonValidation": [
{
"fileMatch": "tsconfig.json",
"url": "http://schemastore.azurewebsites.net/schemas/json/tsconfig.json"
},
{
"fileMatch": "tsconfig.json",
"url": "./schemas/tsconfig.schema.json"
},
{
"fileMatch": "tsconfig.*.json",
"url": "http://schemastore.azurewebsites.net/schemas/json/tsconfig.json"
},
{
"fileMatch": "tsconfig.*.json",
"url": "./schemas/tsconfig.schema.json"
},
{
"fileMatch": "typings.json",
"url": "http://schemastore.azurewebsites.net/schemas/json/typings.json"
}
]
この問題を解決するには、次の手順に従ってください。
npm install
と入力します私が認めるよりも長い間これに頭をぶつけた後、Base64でエンコードされた資格情報にproxyAuthorization
値を追加するだけで、proxy
またはproxyStrictSSL
値は必要ありませんでした。
環境変数でプロキシが正しく構成されています。ドメインとポートのみがあり、資格情報はありません。 "HTTP_PROXY" " http://example.com:port/ "。
LINQPadでこのC#コードを使用して、資格情報からproxyAuthorization
値を取得しました。
var pw = "[email protected]:password";
var base64Encoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(pw));
base64Encoded.Dump();
これは、上記のコードダンプからエンコードされた文字列を使用して、ユーザーsettings.json
にあるものです。
"http.proxyAuthorization": "BASE64_ENCODED_VALUE"
注:プロキシを許可するための資格情報にメールアドレスと完全なユーザー名が必要なければ、私は使用できたと思います上記のソリューション。しかし、私がやったので、これが私がそれを機能させることができる唯一の方法でした。