この記事は、以下に該当するお客様向けのご案内です。
- Package Manager からパッケージをダウンロードすることができない
この記事を読むことで Package Manager からパッケージをダウンロードすることができるようになります。
症状:
- Package Manager を開いた際に「Error fetching packages, see console」と表示されている
- Console 上で以下のエラーが出力されている
Error: unable to get local issuer certificate
原因:
クライアントマシンにおいて Unity Hub と Unity Package Manager が、接続しているネットワーク上のSSLインスペクションを実行している Web Proxy サーバーの SSL/TLS 証明書を信頼するよう構成されていない。
解決策:
以下の2つの設定を構成します。
- Unity Hub が証明書を信頼できるように自動プロキシ設定を有効化します。
- Unity Package Managerが証明書を信頼できるようにNODE_EXTRA_CA_CERTS 環境変数を設定する、もしくは global configuration file を作成します。
1. Unity Hub が証明書を信頼できるように自動プロキシ設定を有効化します:
- マシン内に以下のディレクトリが存在するか確認します。ない場合は作成してください。
- Windows: C:\ProgramData\Unity\config
- macOS: /Library/Application\ Support/Unity/config - 1. の手順で確認したディレクトリに services-config.json が存在するか確認してください。ない場合は作成してください。
- enableProxyAutoconfig キーを services-config.json に追加し、その値を true としてください。以下の例のような形にしてください。
{
"enableProxyAutoconfig": true
} - services-config.json を保存してください。
- 設定を正確に反映させるためにマシンを再起動してください。
2-A. Unity Package Managerが証明書を信頼できるようにNODE_EXTRA_CA_CERTS 環境変数を設定します
- 1 つ以上のカスタム認証局(CA) の 証明書を含むテキスト ファイルを作成します。ファイルは、Privacy-Enhanced Mail (PEM) 形式の 1 つ以上の信頼された証明書で構成されている必要があります。詳細については、御社のIT部門へお問い合わせ頂くか、使用されている外部のWeb プロキシ ソフトウェアのヘルプを参照してください。
- 1. の手順で作成した .pem ファイルを、Unity のインスタンスがある各コンピューターに配布します。
- NODE_EXTRA_CA_CERTS 環境変数を構成して、2. で配置した証明書へのパスを設定してください。
例:以下の例では、mycert.pem が証明書ファイル名で、ユーザーのホームディレクトリに配置されています。
Windows
set NODE_EXTRA_CA_CERTS=C:\Users\username\mycert.pem
macOS / Linux
export NODE_EXTRA_CA_CERTS=/Users/username/mycert.pem
NODE_EXTRA_CA_CERTS 環境変数についての詳細は次のドキュメントを参照してください - Node.js のドキュメント
2-A. の手順を実施することができない場合は、2-B. の手順を代わりに実施してください。
2-B. Unity Package Managerが証明書を信頼できるようにglobal configuration file を作成します
-
upmconfig.toml global configuration ファイルの位置を確認します。ファイルが存在しない場合は作成してください。
Windows: %ALLUSERSPROFILE%\Unity\config\upmconfig.toml (例: C:\ProgramData\Unity\config\upmconfig.toml)
macOS / Linux: /etc/upmconfig.toml
upmconfig.toml 構成ファイルのデフォルトの場所を上書きするカスタムの場所を定義できます。これを行うには、UPM_GLOBAL_CONFIG_FILE 環境変数を作成し、その値をファイル名を含む構成ファイルの絶対パスに設定します。 - 1 つ以上のカスタム認証局(CA) の 証明書を含むテキスト ファイルを作成します。ファイルは、Privacy-Enhanced Mail (PEM) 形式の 1 つ以上の信頼された証明書で構成されている必要があります。
以下はその例です。-----BEGIN CERTIFICATE-----
MIIC+zCCAeOgAwIBAgIJAO0U6hVJnbvjMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV
BAMMCWxvY2FsaG9zdDAeFw0xOTAzMTIwMTIxMzRaFw0yOTAzMDkwMTIxMzRaMBQx
中略
LFwHSUdqk0lJK4b0mCwyTHNvYO1IDziE5EKwfuaKVgOa62iCHVahgIVa+een4EfS
hCCr3M3cq11Mi+mnRi1scxxrOno4OEEChWg2szZLlxBrkVJllrrq620XJ6RLB/8=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
中略
H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
-----END CERTIFICATE----- - 2. の証明書ファイルを 可能な限り upmconfig.toml global configuration ファイルと同じフォルダーに保存します。
- upmconfig.toml global configuration ファイルに、caFileキーを追加し、その値に2. の証明書ファイルの絶対パスを指定します。
重要:TOML ファイル内で Windows 上のパスを設定する場合は、スラッシュ (/) または二重のバックスラッシュ (\\) を使用します。単一のバックスラッシュ (\) はエスケープ シーケンスを示す特殊文字であり、TOML 解析エラーを引き起こす可能性があるため、使用しないでください。
Windows
caFile = "C:\\ProgramData\\Unity\\config\\cert.pem"
macOS / Linux
caFile = "/etc/cert.pem
問題が解決しない場合は、ログファイルを添えてカスタマーエクスペリエンスまでご連絡ください。
参考情報: