渋谷ほととぎす通信

新しいこと、枯れたこと問わずサムザップ大庭が興味を持ったものを調査、生活の効率を求める完全趣味の技術ブログ。基礎を大事にしています。※あくまで個人ブログであり所属組織とは関係ありません

UnityのPackageManagerプライベートリポジトリの調査


結論

プライベートリポジトリは専用のレジストリサーバーを立てる必要がある。


※レジストリサーバーを立ててプライベートリポジトリをUnityPackageManagerで使用する記事を書きました。

経緯

UnityのPackageManagerを使うにあたって、プライベートリポジトリが使えないっぽいので、いろいろ試して、駄目な理由を洗う記事です。


githubにテストのプライベートリポジトリを作成して検証してみます。

https://github.com/baobao/test-package
※プライベートリポジトリなのでアクセスできません

f:id:esakun:20200720034450p:plain:w500

├── LICENSE
├── README.md
└── hoge
    ├── aaaaa.txt
    ├── hoge.txt
    └── package.json

ファイル構成は上記です。hogeディレクトリにpackage.jsonがあるので、パッケージURLは以下になります。

https://baobao@github.com/test-package.git?path=hoge


以下試したURLと出力されたエラー内容です。

git@始まりのURLの場合

"info.shibuya24.test":"git@github.com:baobao/test-package.git?path=hoge"

エラー内容

An error occurred while resolving packages:
  Project has invalid dependencies:
    info.shibuya24.test: Version 'git@github.com:baobao/test-package.git?path=hoge' is invalid. Expected one of: a 'SemVer' compatible value; a value starting with 'file:'; a Git URL starting with 'git:' or 'git+', or ending with '.git'.

f:id:esakun:20200719032425p:plain:w450

httpsプロトコルURLの場合

"info.shibuya24.test": "https://github.com/baobao/test-package.git"

エラー内容

An error occurred while resolving packages:
  Project has invalid dependencies:
    info.shibuya24.test: Error when executing git command. fatal: could not read Username for 'https://github.com': terminal prompts disabled

gitプロトコルURLの場合

"info.shibuya24.test":"git://github.com:baobao/test-package.git"

エラー内容

An error occurred while resolving packages:
  Project has invalid dependencies:
    info.shibuya24.test: Error when executing git command. fatal: Unable to look up github.com:baobao (port 9418) (nodename nor servname provided, or not known)

ユーザー名付きURLの場合

"info.shibuya24.test": "https://baobao@github.com/test-package.git"

エラー内容

An error occurred while resolving packages:
  Project has invalid dependencies:
    info.shibuya24.test: Error when executing git command. remote: Not Found
    fatal: repository 'https://baobao@github.com/test-package.git/' not found

パスワード付きの場合

"info.shibuya24.test":"https://baobao:password@github.com/test-package.git"

※パスワードに@がついている場合は、%40にエスケープして置き換えます。

エラー内容

An error occurred while resolving packages:
  Project has invalid dependencies:
    info.shibuya24.test: Error when executing git command. remote: Not Found
    fatal: repository 'https://baobao:password@github.com/test-package.git/' not found

参考