Spesifikasi yang tidak terselesaikan selama Gem :: Spesifikasi.reset:

192

Saat meluncurkan Guard, saya mendapatkan output ini:

$ guard
WARN: Unresolved specs during Gem::Specification.reset:
      lumberjack (>= 1.0.2)
      ffi (>= 0.5.0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.

Apa artinya ini, dan bagaimana cara memperbaikinya?

Isi dari Guardfile:

guard 'livereload' do
    watch(%r{.+\.(css|js|html)$})
end
guard 'sass', :input => 'css', :style => :compressed, :extension => '.min.css'
reneruiz
sumber
1
Saya mendapatkan ini juga dan bahkan tidak lari penjaga.
Douglas G. Allen
Posting ini sangat membantu jika Anda menggunakan RVM.
GDP2

Jawaban:

274

Saya melihat masalah ini dengan menjalankan RSpec sendiri. Dari apa yang saya mengerti, ini berarti bahwa Anda memiliki lebih dari satu versi permata yang terdaftar terpasang di sistem Anda, dan RSpec tidak yakin yang mana yang akan digunakan. Setelah menghapus versi permata yang lebih lama, peringatan itu hilang.

Anda dapat mencoba:

gem cleanup lumberjack

Atau:

gem list lumberjack

gem uninstall lumberjack

Jika Anda menggunakan Bundler, Anda dapat mencoba bundle exec guard(atau dalam kasus saya bundle exec rspec).

jallen7usa
sumber
2
Anda menempatkan saya di jalur yang benar. Saya mendapatkan kesalahan ketika menjalankan 'gem cleanup' jadi saya menemukan ini: stackoverflow.com/questions/4007074/... Ternyata itu ada hubungannya dengan RVM. Ketika saya menjalankan 'rvm gemset use global' dan menjalankan guard, kesalahan hilang.
reneruiz
Saya menggunakan rbenv dan pembersihan permata [gemname] bekerja untuk saya dengan sempurna. Terima kasih.
Matt
3
Saya memiliki masalah yang sama, menjalankan pembaruan bundel menyelesaikannya
mike
4
Setelah rvm gemset use global(dan gem cleanup <gemname>) pastikan untuk kembali ke gemset default Anda denganrvm gemset use default
AlexChaffee
Saya perlu menggunakan gem uninstall <problematic gem>tetapi terima kasih dan upvote untuk mengarahkan saya ke arah yang benar!
Mengurangi aktivitas
159

Menggunakan perintah berikut ini memecahkannya untuk saya:

bundle clean --force

Lihat spesifikasi penjaga dan tidak terselesaikan untuk info lebih lanjut

Pieter van der Merwe
sumber
1
Saya sudah mencoba banyak hal, termasuk menginstal ulang RVM dan Ruby, sampai saya menemukan solusi ini dan ini berhasil untuk saya.
George
Sobat, saya membuang waktu beberapa jam untuk mencari tahu mengapa Textmate 2 mengalami kesalahan ketika saya menjalankan tes. Ini membersihkannya.
Grocery
Saya perlu su/ sudountuk melakukan ini, karena sedang mencoba menulis /var/lib/gems. Selain itu - bekerja untuk jekyll.
einpoklum
21

Gunakan Bundler. Panggil bundle exec guard, bukan guard.

Pembuat sekarang
sumber
12

FYI:

gem cleanup

bekerja untukku.

$ gem cleanup       

Cleaning up installed gems...
Attempting to uninstall builder-3.2.2
Successfully uninstalled builder-3.2.2
Attempting to uninstall amatch-0.3.0
Successfully uninstalled amatch-0.3.0
Attempting to uninstall tins-1.12.0
Successfully uninstalled tins-1.12.0
Clean Up Complete
pemain sulap
sumber
9

Ini bekerja untuk saya:

bundle clean --force

kemudian

bundle install

untuk menginstal ulang permata.

Vanessa Ejikeme
sumber
6

Saya gunakan gem list gem-name; gem uninstall gem-nameuntuk membersihkan permata satu per satu karena ketergantungan. Setelah itu, kesalahan tidak muncul lagi.

arthur bryant
sumber
1

Menambahkan

'bundle exec'

sebelum perintahmu.

Saya menggunakan ruby ​​2.4 dan mendapat masalah yang sama ketika menggunakan jekyll di windows, itu diperbaiki.

IBam
sumber
0

Saya menerima pesan ini saat menjalankan Rspec di dalam permata plugin Guard, menggunakan bundle exec rspec. Ternyata ada baris yang hilang di gemspecfile:

$:.push File.expand_path("../lib", __FILE__)

Baris ini biasanya di bagian atas file (di banyak permata saya baru-baru ini bekerja di) dan saya telah berkomentar untuk melihat mengapa.

Robin Daugherty
sumber
0

Ingat, jika Anda ingin menggunakan pelindung, Anda harus menambahkan pelindung permata ke Gemfile.

group :developement, :test do
  gem 'guard'
end

Lalu lari

bundle install

Saya harap ini dapat membantu Anda.

rocLv
sumber