নির্দিষ্টকরণের তারিখের ফর্ম্যাটের কারণে অবৈধ রত্নমুক্ত


89

আমি যখন তৈরি একটি রত্নকে আমি অন্তর্ভুক্ত করি তখন জিনফাইলে বান্ডলারকে (সংস্করণ 1.0.12) ধন্যবাদ জানায় এবং তারপরে আমি বান্ডিল করার চেষ্টা করি বা ঠিক তেমনভাবে উপস্থাপন করার চেষ্টা করি:

$ rake

আমি এই ত্রুটি বার্তা পেয়েছি:

Invalid gemspec in [/Users/zagzag/.rvm/gems/ruby-1.9.2-p180@foobar/specifications/myplugin-1.0.0.gemspec]: invalid date format in specification: "2011-04-21 00:00:00.000000000Z"

আমি সর্বশেষ ম্যাক ওএস এক্স (10.6.4) এ রয়েছি:

$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.4.0]

এবং:

$ gem -v
Invalid gemspec in [/Users/zagzag/.rvm/gems/ruby-1.9.2-p180@foobar/specifications/myplugin-1.0.0.gemspec]: invalid date format in specification: "2011-04-21 00:00:00.000000000Z"
1.7.2

এই সমস্যাটি কীভাবে সমাধান করা যায় তা আমি সত্যিই দেখছি না। কোন ধারণা জন্য ধন্যবাদ।


আমি এই ত্রুটিগুলি এখনই নিয়মিত পাচ্ছি! কীভাবে ঠিক করলেন? এখনও অবধি দুটি উত্তর সহায়ক নয় ...
মেল্টেমি

সবাই যার যার পরামর্শ, কেবল পঠনযোগ্য ফাইল। আমি কীভাবে এটি পরিবর্তন করতে পারি?
ছন্তিয়াল

উত্তর:


143

আমি এখানে "নির্দিষ্টকরণে অবৈধ তারিখের ফর্ম্যাট" ত্রুটিটি ঠিক করার উপায় এখানে দিচ্ছি:

1.) অবস্থিত স্পেসিফিকেশন ফোল্ডারে যান:

/usr/local/lib/ruby/gems/1.8/specifications/

২) সমস্যাটি তৈরি করছে এমন অনুমানটি সন্ধান করুন।

৩) পরিবর্তন s.date = %q{2011-05-21 00:00:00.000000000Z}করুনs.date = %q{2011-05-21}

এটি আমার জন্য একটি বিজয়! শুভকামনা


একটি ট্রিট কাজ করেছেন, এটি আমার মাথা কাজ করছে!
ডেভিড আর্চার

আমার জন্য কাজ! আমি রুবি 1.8 ইনস্টল করে উইন্ডোজ এক্সপিতে ছিলাম। 'Livereload' ( livereload.com ) ব্যবহার করার চেষ্টা করার সময় em.websket-0.3.2.gemspec আমার জন্য এই ত্রুটিটি ছুঁড়ে ফেলছিল
প্রোগ্রাম 247365

আমার জন্যও দীর্ঘস্থায়ী 1.6.4
জিপেন্সেন্স

এটি একটি রত্নের জন্য সমস্যাটি সংশোধন করে তবে ইনস্টল করা রত্নগুলি অনুসরণ করার ফলে এই ত্রুটি আবার ঘটতে পারে।
মিকেলএফএম

4
এটি আমাকে পাগল করে দিচ্ছে ... আমি কি 50 তৃতীয় পক্ষের রত্নের রত্ন পরিবর্তন করব? কেন তারা রত্নগুলি হালনাগাদ করেনি, এক বছর কেটে গেছে ..
ওমা

60

আপনার সমস্ত রত্নগুলির জন্য এটি ঠিক করার জন্য এখানে আদেশ দেওয়া হল:

perl -p -i -e 's/ 00:00:00.000000000Z//' ~/gems/specifications/*.gemspec

এটি রূপান্তরিত s.date = %q{2011-05-21 00:00:00.000000000Z}হয় s.date = %q{2011-05-21}এবং আপনার সমস্যার সমাধান করা উচিত।


: নিস কৌতুক এই কাজ করার আগে একটি দ্রুত ব্যাকআপ করতেgit init . && git commit -am "backup
troyt

কেন তারিখের ফর্ম্যাটটি পরিবর্তন করার চেষ্টা করা হচ্ছে, এটি বলছে যে আমার এটি করার অনুমতি নেই। কি করো?
ছন্তিয়াল

@ ছন্তিয়াল আপনার তখন এটি সুডো হিসাবে চালানো দরকার। এই জন্য আপনাকে অনেক ধন্যবাদ! আমাকে অনেক সময় বাঁচিয়েছে।
ম্যাট ম্যাকক্লুর

21

দামিয়ান নওকের মন্তব্যটি লক্ষ্য করুন। এই আদেশগুলি সম্ভবত আপনার রুবিজেমগুলিকে জগাখিচু করে!

উবুন্টু ১১.১০-তে নিম্নলিখিত এই ত্রুটিটি সমাধান করেছে:

sudo gem install rubygems-update
sudo update_rubygems     

নিম্নলিখিত কিছু সিস্টেমে কাজ করতে পারে তবে ডেবিয়ান ভিত্তিক নয়:

sudo gem update --system

দুর্দান্ত, একেরিকের চূড়ান্ত সংস্করণেও কাজ করে। তবে এটি ম্যানুয়ালি ইনস্টল করা সমস্ত রত্ন পরিষ্কার করে বলে মনে হচ্ছে।
জেহের

4
এটা ব্যবহার করোনা. এটি আমার রুবিজেমগুলিকে গোলমাল করেছে। আমাকে প্রচুর স্টাফ আরএম করতে হয়েছিল এবং রেপো থেকে মূল রুবিজেমে ফিরে যেতে হয়েছিল। হয় সম্পূর্ণরূপে রুবিজেমগুলি ইনস্টল করুন বা উবুন্টু দ্বারা সরবরাহিত রুবিজেম ব্যবহার করুন। বিকল্পভাবে, আপনি পিপিএতে বর্তমান রুবিজেমগুলি সন্ধান করতে পারেন। (আমি আশা করি আমি আমার +1 পূর্বাবস্থায় ফেলতে পারতাম যা প্রায় এক মাস আগে তৈরি হয়েছিল)
নওকার

4
@ দামিয়াননওক এটি শুনে দুঃখিত। আমি উত্তরে একটি সতর্কতা যুক্ত করলাম!
চিহ্নিত করুন

14

আপনি আপনার আপগ্রেড করতে পারেন gem। এটি ঠিক করতে আপনি gemspecসরাসরি ফাইল সম্পাদনা করতে পারবেন - থেকে

2011-04-21 00:00:00.000000000Z

প্রতি

YYYY-MM-DD

অথবা আপনার রেলগুলিও আপগ্রেড করুন

sudo gem update rails

এটি সমস্যার সমাধান করবে।


@ মেল্টেমি এটি specificationsডিরেক্টরিতে হবে এটি আমার specificationsডিরেক্টরি পাথ -/home/sayuj/.rvm/gems/ruby-1.9.2-p180/specifications/
সাইজ

রেলগুলি আপডেট করার জন্য +1 - এটি সমস্যার সমাধান করে, যদিও এটি শুরুতে একই সতর্কতা নিক্ষেপ করে, এটি সঠিকভাবে ইনস্টল করে এবং সমস্যা আর ঘটে না।
অ্যাডাম ডেভিস

6

সময় নির্দিষ্ট করবেন না ... ঠিক তারিখ। 2011-04-21ভাল কাজ করা উচিত।


মণি :: স্পেসিফিকেশন.নু ডু | এস | s.name = "myplugin" s.version = "1.0.0" s.platform = gem :: Platform :: RUBY s.authors = ["..."] s.email = ["..."] s .homepage = "http: // ..." s.summary =% q {...} s.description =% q {...} s.rubyforge_project = "myplugin" s.files = git ls-files.split ("\ n ") s.test_files = git ls-files -- {test,spec,features}/*.স্প্লিট (" \ n ") s.require_paths = [" lib "] শেষ
জাগ zag ..

আপনার উত্তরের জন্য ধন্যবাদ. আমি আপনার সাথে একমত, কিন্তু আমি myplugin.gemspec ফাইলে কোনও তারিখ বা তারিখের সময় ব্যবহার করি না। মণিটি বান্ডলার দ্বারা স্বয়ংক্রিয়ভাবে উত্পাদিত হয়েছিল। আমি মনে করি এই সমস্যাটি বান্ডিলার বা আরভিএমের কারণে হতে পারে ... এটি আশ্চর্যজনক।
Zag zag ..

4

একই সমস্যা ছিল। এটি রুবিজেমে একটি বাগের মতো দেখাচ্ছে। এটি প্রতিশ্রুতিবদ্ধ যা এটি স্থির করেছে: https://github.com/rubygems/rubygems/commit/21cccd55b823848c5e941093a615b0fdd6cd8bc7

আপনাকে রুবিজেমস এবং বান্ডলারটি সর্বশেষতম সংস্করণে আপডেট করতে হবে। যদি এর পরেও আপনার যদি সমস্যা হয় তবে আপনাকে সমস্যাগুলি দিচ্ছে এমন কোনও রত্ন পুনরায় ইনস্টল করতে হবে।


ঠিক আছে, রেডমাইন ব্যতিক্রমগুলির নিজস্ব 2.3.11 সংস্করণ ব্যবহার করে, ব্যান্ডগুলি 2.3.11 রুবিগেমস> = 1.7.0 এর সাথে ব্যর্থ হয় এবং আপনি যে প্রতিশ্রুতিটি উল্লেখ করেছেন তা 19 ই মে, ২০১১ তারিখের, যা 1.7.0-পরবর্তী পোস্ট হয়েছে (1 লা এপ্রিল, 2011)। সেক্ষেত্রে অনুমান করুন আপনার স্পেক ফাইলগুলি সম্পাদনা করতে হবে।
অলিভিয়ার 'balbaum' Scherler

3

বেন হলের উত্তরের জন্য এটি আরও একটি মন্তব্য, তবে আমি এখনও এই অধিকারটি পাই নি বলে মনে হয়

মণি আপডেটগুলি কাজ করে বলে মনে হচ্ছে না, আমি ভেবেছিলাম এটি খারাপ তারিখের ফর্ম্যাটের কারণে মণিটি লোড করতে পারে না। ম্যানুয়ালি তারিখগুলি পরিবর্তন করা এক এক করে যেতে খুব হতাশার, সুতরাং একটি গ্রেপ:

grep -i *.gemspec -e '.*s\.date.*=.*%q{\(....-..-..\) \(.*Z\)}

এবং সেড জন্য:

sed -i -e 's/\(.*\)s\.date.*=.*%q{\(....-..-..\) \(.*Z\)}/\1s.date = %q\{\2}/p' ./*.gemspec

এবং আপনার নিজের ঝুঁকিতে !! আমি এখনও সেড নবাগত, তবে এটি আমার পক্ষে কাজ করেছে;)


2

আমার স্লাইসহোস্ট সার্ভারে স্পেসিফিকেশন ফোল্ডারটি আলাদা স্পটে অবস্থিত। এখানে পথ:

/usr/lib/ruby/gems/1.8/specifications

প্রদত্ত ত্রুটিটি স্পেসিফিকেশন ফোল্ডারে পাথ দেওয়া উচিত।


2

শটগান পদ্ধতির: সমস্ত রত্ন আনইনস্টল করুন এবং বান্ডিল পুনরায় চালু করুন।

  1. gem list --no-version | xargs gem uninstall -aIx
  2. rm -i `rvm gemdir`/specifications/*.gemspec
  3. gem update --system
  4. gem install bundler
  5. bundle install

আপনি যদি কোনও .rvmrcফাইল ব্যবহার করেন , তবে সতর্কতার সাথে চলমান লাইন 2 চালিয়ে যান কারণ জেমডির অতিরিক্ত আউটপুট তৈরি করতে পারে।
জারেড বেক

1

(যতক্ষণ না বাগ ফিক্স রুবিজেমসের স্থিতিশীল রিলিজে না আসে) আমি জহর কমান্ডের - রূপান্তর স্যুইচ ব্যবহার করে যে কোনও সতর্কতা তৈরিকারী রত্নগুলির একই সংস্করণটি পুনরায় ইনস্টল করে সমাধান করেছি।


1

বেন হল যেমন বলেছে, আপনাকে অবশ্যই জেমস্পেক ফাইলটি ঠিক করতে হবে যা সিস্টেমের জন্য সিস্টেমে পরিবর্তিত হতে পারে। কোন ফাইলটি ফাইলটি কী ফাইল তা ত্রুটি প্রতিবেদনে বলা হচ্ছে তা জানতে, উদাহরণস্বরূপ:

[/Var/lib/gems/1.8/specifications/svn2git-2.1.2.gemspec] এ অবৈধ জেমস্পেক: নির্দিষ্টকরণে অবৈধ তারিখের ফর্ম্যাট: "2011-12-28 00: 00: 00.000000000Z" "

এই উদাহরণে আপনাকে অবশ্যই "/var/lib/gems/1.8/specifications/svn2git-2.1.2.gemspec" ফাইলটি সম্পাদনা করতে হবে এবং "2011-12-28" এর জন্য "2011-12-28 00: 00: 00.000000000Z" পরিবর্তন করতে হবে s.date অপশনে।



0

এটি আমার পরিবেশ:

RubyGems Environment:
- RUBYGEMS VERSION: 1.8.10
- RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.1.0]
- INSTALLATION DIRECTORY: /Users/user/.rvm/gems/ruby-1.9.2-p290@app
- RUBY EXECUTABLE: /Users/user/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
- EXECUTABLE DIRECTORY: /Users/user/.rvm/gems/ruby-1.9.2-p290@app/bin
- RUBYGEMS PLATFORMS:
  - ruby
  - x86_64-darwin-11
- GEM PATHS:
   - /Users/user/.rvm/gems/ruby-1.9.2-p290@app
   - /Users/user/.rvm/gems/ruby-1.9.2-p290@global
- GEM CONFIGURATION:
   - :update_sources => true
   - :verbose => true
   - :benchmark => false
   - :backtrace => false
   - :bulk_threshold => 1000
- REMOTE SOURCES:
   - http://rubygems.org/

আমি অবশেষে আমার সিস্টেমে এই ত্রুটিগুলি রোধ করার জন্য একটি কারণ / উপায় খুঁজে পেতে সক্ষম হয়েছি। আমি কেবল শসা এবং শসা-রেল সংস্করণ 1.0.2 এ ফিরে আসছি। সর্বশেষতম সংস্করণগুলি ব্যবহার করে এটি করা হয়েছিল ...


0

এমনকি আপনি যদি কোনও বৈধ তারিখের ফর্ম্যাট সহ কোনও রত্নের সর্বশেষ সংস্করণটি ইনস্টল করেন তবে gem cleanup GEMNAMEপরে তা নিশ্চিত করুন , যেহেতু gemএখনও পুরানো লাইব্রেরিগুলির জন্য নির্দিষ্টকরণের বিষয়ে অভিযোগ করবেন।


0

আপনার রত্নগুলি পুনরায় ইনস্টল করা এই সামান্য ভিন্ন মেশিনের অনেকের ক্ষেত্রে সমাধান হতে পারে।

আমার ক্ষেত্রে:

cd /Library/Ruby/Gems/1.8/specifications &&
sudo rm -rf *

আমার ক্ষেত্রে, অন্যান্য আরও সৃজনশীল সমাধান ব্যর্থ হয়েছে।

আমার সমস্যাটি তখন Invalid gemspecকোকোপড ব্যবহার করার চেষ্টা করছিল। আমি gem install cocoapodsআবার দৌড়ে গেলাম এবং সবকিছু গোলাপী ছিল।

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