Package.swift
ファイルのローカルディレクトリを参照できますが、Gitリポジトリである必要があります。また、リポジトリの初期化、コミット、およびタグ付けでは不十分です。 swift build
が正しく機能するには、リポジトリをリモートにプッシュする必要があります。 SwiftPM Usage Guideによると
:
Packages are Git repositories, tagged with semantic versions, containing a Package.swift file at their root. Initializing the package created a Package.swift file, but to make it a usable package we need to initialize a Git repository with at least one version tag.
Swift Package Manager Documentationも「あなたが任意の有効なスウィフトパッケージへのURL(またはローカルパス)を指定することができます」と述べていると、ローカルファイルを参照して例Package.swift
を提供します:.Package(url: "../StringExtensions", "1.0.0")
。
注:私はスウィフトパッケージマネージャはローカルパスを参照できることを明確にするために答えを編集しますが、パス必見がタグ付きの有効なGitリポジトリを含んでいます。私のオリジナルのテストプロジェクトは、.git
ディレクトリを含む従属ローカルパスを指していたので、swift build
で正常に構築されました。スウィフト4バージョンのツールを使用
は動作しませんでした。私は 'エラー:ディレクトリのパス... Gitリポジトリではありません'を得ました。パッケージ管理者がgit repoとして受け取ったのはなぜでしょうか? –
おそらくそれは暗黙のうちですが、Package/repoの変更のためには、そのバージョンのタグ/バージョンを明らかに更新する必要がありますローカルで利用できるようになります。たとえば、変更前の1.0.0だった場合は、タグを1.0.1に更新する必要があります。少なくともこれはこれまでの私の経験でした。 (これは将来的にこの動作が変化することを願っています)。 –