কার্টেজ দিয়ে কার্টফিল থেকে কেবল একটি লাইব্রেরি কীভাবে আপডেট করবেন?


87

আমার কার্টফিলের অনেকগুলি গ্রন্থাগার রয়েছে। যখন আমি করিcarthage update এটি সমস্ত লাইব্রেরি দিয়ে যায়। এটি খুব দীর্ঘ সময় নিতে পারে।

কার্টেজ সহ একটি একক গ্রন্থাগার আপডেট করার কোনও উপায় আছে কি? এটার মতো কিছু? (এটি কাজ করবে না)

carthage update "evgenyneu/moa"

উত্তর:


150

থেকে 0.12 সংস্করণ build , checkoutএবংupdate একটি ঐচ্ছিক স্থান নির্ভরতা তালিকা পৃথক নেওয়া

নিম্নলিখিত মত একটি কার্টফিল জন্য

github "Alamofire/Alamofire"
github "ReactiveX/RxSwift"

আপনি একটি নির্ভরতা আপডেট করতে বেছে নিতে পারেন

carthage update Alamofire

বা একাধিক নির্ভরতা

carthage update Alamofire RxSwift

যদি আপনার পতাকা যুক্ত করতে হয় তবে এগুলি শেষটি যুক্ত করুন:

carthage update Alamofire --platform iOS

24
কার্থেজ আপডেট বক্স - কোনও ব্যবহারের-বাইনারিগুলি - প্ল্যাটফর্ম আইওএস // আপনার অতিরিক্ত পতাকা নির্দিষ্ট করার প্রয়োজন হলে
নালেক্সন

@ অ্যালেক্স সালোম: কার্টফিলের রেপোর নাম বক্স? আপনি যদি অ্যালামোফায়ারের মতো আরও কিছু পরিচিত কিছু ব্যবহার করেন তবে বুঝতে সহজ হবে? এবং ফলাফল অংশ কি? আর এক রেপুর নাম নাকি?
ইনিস্ট

4
@ গিটসিঙ্ক অ্যাপ্লিকেশন, হ্যাঁ আপনাকে স্পেস দ্বারা পৃথক করা নির্ভরতার নাম লিখতে হবে। আমি আমার উত্তর সম্পাদনা করেছি
অ্যালেক্স সেলোম

@ মার্টিনরোমাউক ঠিক কী কাজ করে না? আমি কেবল উপরের উদাহরণটি দিয়ে চেষ্টা করেছি carthage bootstrapএবং এটি কেবল কার্টফাইলে সংজ্ঞায়িত দুটি থেকে একটি নির্ভরতা প্রক্রিয়াকরণ করেছে। আমার টার্মিনাল পেস্টবোর্ড
অ্যালেক্স সেলোম

অ্যালেক্সসালোমকে ন্যায্য হতে হবে, আপনি bootstrapউত্তরটি ব্যবহার করার সময় বলছেন update। সঙ্গে bootstrapআপনি ডাউনলোড করছেন যাই হোক না কেন Carfile.resolvedবলছেন, এটা আপডেট করবে না।
ল্লুইস জেরার্ড

13

কার্টেজ এখন একক নির্ভরতা আপডেট করার পক্ষে সমর্থন করে yourআপনার কার্টফাইলে যদি এমন কিছু থাকে:

github "bitstadium/HockeySDK-iOS"

তারপরে আপনি চালিয়ে কেবল এটির একটি নির্ভরতা আপডেট করতে পারেন

carthage update HockeySDK-iOS

9

এখনই উত্তরটি নেই ... আপনার রান থাকলে carthage help updateআপনি দেখতে পাবেন

Update and rebuild the project's dependencies

[--configuration Release]
    the Xcode configuration to build (ignored if --no-build option is present)

[--platform all]
    the platform to build for (ignored if --no-build option is present)

[--verbose]
    print xcodebuild output inline (ignored if --no-build option is present)

[--no-build]
    skip the building of dependencies after updating

[--use-ssh]
    use SSH for downloading GitHub repositories

[--use-submodules]
    add dependencies as Git submodules

[--no-use-binaries]
    check out dependency repositories even when prebuilt frameworks exist (ignored if --no-build option is present)

[--color auto]
    whether to apply color and terminal formatting (one of ‘auto’, ‘always’, or ‘never’)

[/path/to/your/app]
    the directory containing the Carthage project

আপনি দেখতে পাচ্ছেন যে আপডেটের জন্য কেবলমাত্র একটি নির্ভরতা নির্দিষ্ট করার জন্য কোনও বিকল্পের উল্লেখ নেই।

এটি সমর্থন করতে বলার জন্য আপনার প্রকল্পের রেপোতে একটি সমস্যা খোলা উচিত ।


9

যদি কাঠামোটি গিটহাবের মধ্যে সঞ্চয় না হয়, বা আপনি gitসনাক্তকারী ব্যবহার করছেন এবং আপনার cartfileচেহারাটি এর মতো:

git "ssh://git@bitbucket.org/teamname/repo-name.git" ~> 1.0

তারপরে আপনি নীচের কমান্ডটি চালাচ্ছেন কেবল সেইটিকেই আপডেট করতে পারেন

carthage update repo-name

6

আমি সমস্ত উত্তর চেষ্টা করেছিলাম এবং আমার জন্য কেবলমাত্র অস্থায়ীভাবে সংগ্রহস্থলগুলি অপসারণ বা মন্তব্য করা এবং চালনার পরে

carthage update --platform ios

আমি আগের অবস্থায় ক্যাটফিল পুনরুদ্ধার করার পরে


5

আমি আমার নিজস্ব স্ক্রিপ্ট লিখে শেষ করেছি যা আমার জন্য একক নির্ভরতা তৈরি করে এবং এটি আমার বিদ্যমান নির্ভরতার সাথে একীভূত করে। আপনি এটি https://github.com/ruipfcosta/carthage-workarounds এ খুঁজে পেতে পারেন ।


0

সুইফট 5

//MARK:- Step 1
carthage update KeychainAccess --platform iOS

carthage update SDKNAME(like i mention KeychainAccess upper) --platform iOS

আপনি যদি এইরকম কোনও ত্রুটির মুখোমুখি হন

//MARK:- If this error occur
error: unable to find utility "xcodebuild", not a developer tool or in PATH

তারপরে টার্মিনালে আবার পর্ব 1 ব্যবহার করুন

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

এবং আবার

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

0

[কার্টেজ আপডেট প্রবাহ]

carthage [update|bootstrap|checkout|build] [dependency1] [dependency2] [--no-use-binaries] [--platform <name>]

//--no-use-binaries - does not use prebuild binary and use source code
//--platform - specify a platform

দীর্ঘতম পর্যায়টি একটি buildপদক্ষেপ [এক্সকোডবিল্ড] কারণ:

  1. fat binaryব্যবহার করে নির্মিত হয়েছে lipo[সম্পর্কে]
  2. কার্থেজ সমস্ত shared frameworks schemesপ্রকল্প তৈরি করে । আপনার যদি জানা থাকে যে ঠিক কোনটি স্কিমা দরকার যা আপনি করতে পারেন:

    • নির্দিষ্ট স্কিম ছেড়ে দিন xcschemesফোল্ডারে.../Carthage/Checkouts/<dependency>/<project>.xcodeproj/xcshareddata/xcschemes/<schema>.xcscheme

    • Carthage/Checkoutsফোল্ডার থেকে নির্মিত প্রকল্পটি খুলুন -> স্কিমগুলি পরিচালনা করুন ... -> নির্দিষ্ট স্কিমগুলি ছেড়ে যান


0

দেখে মনে হচ্ছে carthage update repo-nameএটি তেমন কাজ করে না Carthage 0.36.0। আমি নিজেই আপডেট করে এই সমস্যাটি সমাধান করেছি Carthage.resolved। উদাহরণস্বরূপ, Cartfileএকটি নতুন নির্ভরতা যুক্ত করুন:

github "konkab/AlamofireNetworkActivityLogger" ~> 3.0.0

একটি যোগ করুন Cartfile.resolvedএকটি নতুন নির্ভরতা ম্যানুয়ালি:

github "konkab/AlamofireNetworkActivityLogger" "3.0.0"

তারপরে carthage bootstrapকেবলমাত্র একটি নির্ভরতা আপডেট করার জন্য করুন:

carthage bootstrap

এটি ব্যবহার করবে Carthage.resolvedএবং কেবল একটি নির্ভরতা যুক্ত করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.