問題タブ [swift-package-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - Swift パッケージと競合する依存関係
私が見てきたすべてのパッケージ マネージャーで最も困難なタスクの 1 つは、競合する依存関係を処理することです。
次の架空のアプリケーションSwiftAppを操作してみましょう。これは、いくつかのサードパーティ パッケージに依存しています。
- SwiftApp
- packageA@latest
- packageC@1.0.0
- packageD@latest
- packageB@latest
- packageC@2.0.0
- packageE@latest
上記の依存関係グラフから、SwiftAppの依存関係の両方が packageC を使用していることがわかりますが、メジャー バージョン識別子は異なります。ほとんどの言語エコシステムでは、これが問題になります。メジャー バージョンのバンプは、通常、以前のメジャー バージョンとの下位互換性がないコードに変更が加えられたことを意味します。
言語/コンパイラ/その他の関連コンポーネントの技術的能力に応じて、パッケージ マネージャーは次のいずれかの方法で実装できます。
- インストール/コンパイルの拒否 (php、ruby、python?、その他?)
- 気にする必要はありません。潜在的なコンパイラ エラーは開発者に対処させてください (???)
- 両方のパッケージに個別にpackageCをインストールします(Node.js、その他?)
3 番目のオプションは、言語またはコンパイラ自体による適切なサポートによってのみ実現できます。
この依存関係グラフは、Swift で破損することなく実現できますか?
つまり、packageA が packageC のバージョン 1.0.0 を持つ (そして使用する) ことは技術的に可能で、packageBはバージョン2.0.0になりますか?
Swift が現在オープンソースであり、独自のパッケージ マネージャーが付属しているという最近の発表を考えると、この質問は、Swift パッケージ開発に関心のある将来の読者にとって非常に価値があると思います。
swift - Swift Package Manager でターゲットの依存関係を追加するときにエラーが発生しました
ターゲットの依存関係を含めようとすると、次のエラーが発生します。The manifest describes a target that cannot be found in your source tree: parser
ここに私の Package.swift ファイルがあります:
ここで説明されている形式に従っています: https://github.com/apple/swift-package-manager/blob/master/Documentation/Package.swift.md
swift - Swift Package Manager を使用して Xcode にパッケージをインストールする方法
私は Xcode でプロジェクトに取り組んでおり、Swift Package Manager を介してCryptoSwiftパッケージをインストールして使用しようとしています。
SPM のドキュメントを読みましたが、Xcode から SPM を呼び出す方法についての説明がありません。
例は、多くの場合、 の呼び出しに言及してい$ swift build
ます。これは、SPM はコマンド ラインからしかアクセスできないということですか? もしそうなら、正確にどこにPackage.swift
ファイルを作成することになっていますか?
私は Xcode にかなり精通していますが、プロジェクトのビルド設定部分の意味や、Swift モジュールの使用方法をよく理解していません。
編集: この質問は、もともと Swift 2.1.1 に同梱されている Xcode 7.2 に対して尋ねられました。現在/将来のバージョンの Xcode でこれを行う方法を説明する回答を喜んで受け入れます。
swift - SPM からの複数の Package.test テスト ターゲットの解決
私のライブラリがテストを作成し、テストとの依存関係もある場合、エラーが発生するようです:
:0: エラー: ノードを構築できません: '' (ノードは複数のコマンドによって生成されます。たとえば、'' と '')
それはで見ることができますdebug.yaml
でビルド ターゲットの 1 つの名前をPackage2.test
手動で変更するdebug.yaml
と、機能します。
テスト ターゲット名を指定したり、この問題を解決したりする方法はありますか?