Saat menjalankan rake
tugas apa pun yang saya dapatkan:
NoMethodError: metode `last_comment 'tidak terdefinisi untuk
Ini setelah bundle update
itu menarik versi baru rake, versi 11.0.1
.
$ grep rake Gemfile.lock
rake
rake (>= 0.8.7)
rake (11.0.1)
rake
$ bundle update
$ bundle exec rake db:drop # any rake task
NoMethodError: metode yang tidak ditentukan `last_comment 'untuk # <Rake :: Aplikasi: 0x007ff0cf37be38>
Versi
- Rel 3.2.11
- Rake 11.0.1
bundle exec
setelah melakukan ini, bagaimana tetap menggunakanrake
tanpa bundel exec ??rake db:create:all
melempar pengecualian ini.last_comment
, di mana dalam basis kode ini saya tidak ingat. Saya tidak tahu apakah Rails 4 juga meneleponlast_comment
. Tapi Anda bisa checkout basis kode rel, beralih ke cabang Rails 4 dan grep untuk "last_comment" diRakefile
dan*.task
.dalam perbaikan cepat Rails dapat diedit
./Rakefile
(di folder aplikasi Anda)dan tambahkan baris ini sebelum memanggil
Rails.application.load_tasks
:jadi seluruh
Rakefile
mungkin terlihat sepertisumber
last_comment
dikembalikan dan sekarang akan dihapus di rake 12.0 sebagai gantinya.Pembaruan untuk
Rspec
permata terbaru berfungsi:bundle update rspec-rails
sumber
Tingkatkan saja permata
rspec-rails
Sekarang:
gem 'rspec-rails', '~> 3.5', '>= 3.5.2'
pelukan!
sumber
gem 'rspec-rails', '~> 3.6'
menyelamatkan hidup saya, terima kasih banyak !! Dan saya pikir saya memiliki sesuatu seperti last_comment di dalam kode saya! LOLIni merupakan masalah dalam rake yang telah ditangani.
Jawaban oleh @ equival8 adalah patch monyet dan harus dihindari.
Seperti yang ditunjukkan oleh @Kris, ini adalah masalah yang diisolasi
rake 11.0.1
. Karena @Kris telah memposting jawabannya, ada versi baru Rake yang tersedia dan idealnya Anda dapat mengikuti perkembangan zaman dan tidak disematkan ke versi rake yang lama. Percayalah, saya pernah ke sana dan itu bukan ide yang baik jika Anda dapat membantu. Juga ini bukan masalah dengan Rails 2.3 atau versi rails apa pun.Setiap Rake
< v11.0.1
atau> v11.0.1 and < v12
akan bekerja tetapi ini masih bekerja dan juga harus dihindari; idealnya Anda akan bisa mengikuti perkembangan zaman.Karena
last_comment
sudah ditinggalkan ketergantungan itu sendiri harus ditingkatkan. Dalam kasus saya iturspec-core
yang kebetulan hanya memperbaiki ini di v3.4.4 .Cara Mengatasinya
Tingkatkan ketergantungan Anda ke versi yang tidak memanggil
last_comment
tetapi memanggillast_description
saja. Mungkinrspec
dan meningkatkanrspec-core
ke 3.4.4 atau lebih tinggi akan memperbaikinya.rspec-core
<3.4.4 panggilanlast_comment
.Jika ketergantungan Anda tidak memiliki versi yang tidak dapat dihubungi
last_description
, jadilah warga negara yang baik dan kirimkan PR untuk memperbaikinya :)sumber