Saya mendapatkan kesalahan berikut ketika saya mencoba menggunakan permata di windows, dan saya juga merujuk ke pos stackoverflow ini dan rubygems serta rel yang diperbarui. Tapi tidak ada yang bisa menyelesaikan masalah.
Berikut ini adalah kesalahan lengkapnya,
D: \> gem env Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-08-25 00:00:00 .000000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-08-03 00:00: 00.000000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-08-26 00:00: 00.000000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-09-01 00: 00: 0 0,00000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-09 -01 00: 00: 00.000000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-08-27 00 : 00: 00.000000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /tilt-1.3.3.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-08-25 00:00:00 .000000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /execjs-1.2.4.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-08-03 00:00: 00.000000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /temple-0.3.3.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-08-26 00:00: 00.000000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-0.6.3.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-09-01 00: 00: 0 0,00000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /guard-livereload-0.3.1.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-09 -01 00: 00: 00.000000000Z " Gemspec tidak valid di [D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications /rack-cache-1.0.3.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-08-27 00 : 00: 00.000000000Z " Lingkungan RubyGems: - RUBYGEMS VERSION: 1.7.2 - RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32] - DIREKTUR INSTALASI: D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - RUBY EXECUTABLE: D: /RailsInstaller/Ruby1.8.7/bin/ruby.exe - DIRECTORY EXECUTABLE: D: /RailsInstaller/Ruby1.8.7/bin - PLATFORM RUBYGEMS: - ruby - x86-mingw32 - JALAN PERMATA: - D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8 - C: / Dokumen dan Pengaturan / jeygokul / .gem / ruby / 1.8 - KONFIGURASI PERMATA: -: update_sources => true -: verbose => true -: benchmark => false -: lacak balik => salah -: bulk_threshold => 1000 - SUMBER REMOTE: - http://rubygems.org/
ruby-on-rails
rubygems
Abhishek
sumber
sumber
Solusi utamanya adalah ini:
Cari file "spec" di direktori Ruby Anda: * C: \ Ruby187 \ lib \ ruby \ gems \ 1.8 \ spesifikasi *
Jika file gemspec berisi sesuatu seperti ini: s.date =% q {2011-10-13 00: 00: 00.000000000Z } Kemudian hapus bagian 00: 00: 00.000000000Z : s.date =% q {2011-10- 13}
Setelah menyimpan file gemspec itu, masalahnya teratasi.
sumber
sed -i 's/ 00:00:00.000000000Z//g' path_to_gemspecs
Tak satu pun dari solusi ini berhasil untuk saya. Untuk memperbaikinya, saya menghapus semua konten dari direktori yang disebutkan (beberapa / path / ke / spesifikasi /) lalu saya menginstal permata yang saya butuhkan (sebenarnya, Bundler lalu bundle install).
sumber
Selain menjalankan
gem update --system
saya digunakangem install <gem with bad gemspec>
pada setiap item gem env dilaporkan buruk. Ini membersihkan kesalahan pada mesin saya.sumber
Seperti yang dikatakan Michael dalam komentarnya:
sumber
Mengalami masalah yang sama saat mencoba menginstal GEM di Ubuntu 11.10.
Opsi di atas tidak berhasil untuk saya.
gem env
melaporkan hal berikut:Jadi saya kira masalah ini disebabkan oleh fakta bahwa saya memerlukan versi RubyGems yang lebih baru diinstal.
Menerbitkan
gem update --system
peringatan berikut:Namun saya akhirnya dapat memperbarui
rubygems
ke 1.8.15 dengan mengeluarkan:Semuanya berfungsi setelah itu, semoga berhasil! :)
sumber
sudo apt-get purge rubygems
diikuti olehsudo apt-get install rubygems
dan kemudian menginstal semua permata lagi. Canggung, tapi setidaknya berhasil: P (di atas tidak berhasil untuk saya)Gemspec tidak valid di [/var/lib/gems/1.8/specifications/chronic-0.6.4.gemspec]: format tanggal tidak valid dalam spesifikasi: "2011-09-09 00: 00: 00.000000000Z"
Perbaikan sederhana untuk masalah semacam itu adalah menavigasi ke file .. misalnya.
Langkah 1. cd /var/lib/gems/1.8/specifications
langkah 2. buka file (kronis-0.6.4.gemspec) di editor pilihan Anda ... (gedit kronis-0.6.4.gemspec)
langkah 3. ubah s.date =% q {2011-10-13 00: 00: 00.000000000Z} menjadi s.date =% q {2011-10-13}
Bersulang :)
sumber
Saya baru saja mengalami masalah yang sama di ubuntu saya setelah memutakhirkan ke 10.10. Semua hal di atas tidak berhasil untuk saya. Saya harus menginstal skrip update_rubygems dari http://rubygems.org/pages/download dan menjalankannya sekali. Kata penutup semuanya bekerja.
sumber
Saya telah memperbaiki masalah ini 'spesifikasi format tanggal tidak valid' dengan, mengubah baris yang sesuai di D: /RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/specifications/tilt-1.3.3.gemspec dengan meletakkan s.date = Time.now alih-alih s.date = "2011-08-25 00: 00: 00.000000000Z" Hal yang sama juga dapat digunakan pada file lain.
sumber
Saya sudah terlalu banyak permata untuk diperbaiki satu per satu, dan mencoba keduanya
update_rubygems
dangem pristine --all
masih belum berhasil.Jadi saya gunakan
rvm clear gemset
untuk menghapus semua permata dengan gemspec yang salah. Jalankanbundle install
untuk menginstal ulang semua permata, dan Viola!sumber
Unrecognized command line argument: 'clear' ( see: 'rvm usage' )
rvm gemset empty your_gemset_name_or_global
sumber
Diselesaikan dengan menjalankan
gem update --system
itugem update
.sumber
Berbagai solusi yang tercantum dalam jawaban ini tidak berhasil untuk saya. Apa yang berhasil adalah menginstal ulang versi spesifik dari permata yang melanggar. Dalam kasus Anda, itu akan terlihat seperti:
Saya berpikir bahwa
gem pristine xxx yyy zzz
ataugem pristine --all
mungkin tidak akan selalu (pernah?) Ke gudang permata sedangkangem install xxx -v v.r.m
tidak.Bagaimanapun, menginstal ulang versi permata yang melanggar bekerja untuk saya, meskipun itu membosankan ...
sumber
rvm gemset clear
dan kemudianbundle install
bekerja untuk saya!sumber
"gem install rubygems-update", "update_rubygems", lalu "gem pristine --all" adalah kombinasi yang memecahkan masalah bagi saya setelah tidak satu pun dari yang terdaftar sebelumnya berfungsi.
sumber
Dalam kasus saya, versi permata yang direferensikan bahkan tidak diinstal. Saya memiliki permata itu, tetapi bukan versi yang gemspecs menyebabkan kesalahan. Jadi, saya baru saja menghapus setiap file /path/to/specifications/offending-XYZZ.gemspec.
sumber
Ini sebenarnya bukan jawaban tetapi jika seseorang ingin menggali lebih banyak, saya menemukan spesifikasi gemspec ini di sini: http://rubygems.rubyforge.org/rubygems-update/Gem/Specification.html (gulir ke bawah to date = date () dan klik untuk menunjukkan sumber):
Jadi saya kira ini adalah kode yang mem-parsing gemspec itu, dan sepertinya format tanggal yang ada di file yang menunjukkan kesalahan tidak sesuai dengan ini.
Apa yang saya lakukan adalah hanya memperbaiki secara manual gemspec yang menyinggung seperti yang disarankan di atas (mengubah tanggal menjadi "yyyy-mm-dd", itu berhasil untuk saya.
Semua spesifikasi rubygem yang saya miliki yang memiliki masalah ini juga memiliki garis
s.rubygems_version =% q {1.3.5}
Jadi saya menebak ini hanya permata lama? Dan ada apa dengan% q {...} itu?
sumber
Jika Anda mengalami kesalahan ini di Ubuntu 11.04, solusi saya adalah baris perintah berikut:
Setelah melakukan ini, Anda tidak akan mendapatkan kesalahan tanggal.
sumber