Thông số kỹ thuật chưa được giải quyết trong Gem :: Đặc điểm kỹ thuật.reset:


192

Khi khởi chạy Guard, tôi sẽ nhận được kết quả này:

$ 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.

Điều này có nghĩa là gì, và làm cách nào để khắc phục nó?

Nội dung của Guardfile:

guard 'livereload' do
    watch(%r{.+\.(css|js|html)$})
end
guard 'sass', :input => 'css', :style => :compressed, :extension => '.min.css'

1
Tôi cũng nhận được điều này và thậm chí không chạy bảo vệ.
Douglas G. Allen

Bài đăng này rất hữu ích nếu bạn đang sử dụng RVM.
GDP2

Câu trả lời:


274

Tôi đã thấy vấn đề này bằng cách tự chạy RSpec . Theo những gì tôi hiểu, điều này có nghĩa là bạn có nhiều hơn một phiên bản đá quý được liệt kê được cài đặt trên hệ thống của bạn và RSpec không chắc chắn nên sử dụng loại nào. Sau khi gỡ cài đặt phiên bản cũ hơn của đá quý, các cảnh báo đã biến mất.

Bạn co thể thử:

gem cleanup lumberjack

Hoặc là:

gem list lumberjack

gem uninstall lumberjack

Nếu bạn đang sử dụng Bundler, bạn có thể thử bundle exec guard(hoặc trong trường hợp của tôi bundle exec rspec).


2
Bạn đưa tôi đi đúng hướng. Tôi đã gặp lỗi khi chạy 'dọn dẹp đá quý' vì vậy tôi đã tìm thấy điều này: stackoverflow.com/questions/4007074/ Nhật Hóa ra nó phải làm với RVM. Khi tôi chạy 'rvm gemet sử dụng toàn cầu' và chạy bảo vệ, các lỗi đã biến mất.
reneruiz

Tôi đã sử dụng rbenv và dọn dẹp đá quý [gemname] làm việc cho tôi một cách hoàn hảo. Cảm ơn.
Matt

3
Tôi đã có một vấn đề tương tự, chạy bó cập nhật giải quyết nó
mike

4
Sau rvm gemset use global(và gem cleanup <gemname>) đảm bảo chuyển trở lại đá quý mặc định của bạn vớirvm gemset use default
AlexChaffee

Tôi cần phải sử dụng gem uninstall <problematic gem>nhưng cảm ơn và upvote đã chỉ cho tôi đi đúng hướng!
giảm hoạt động

159

Sử dụng lệnh sau đã giải quyết nó cho tôi:

bundle clean --force

Xem thông số kỹ thuật bảo vệ và chưa được giải quyết để biết thêm thông tin


1
Tôi đã thử rất nhiều thứ, bao gồm cài đặt lại RVM và Ruby, cho đến khi tôi gặp phải giải pháp này và điều này đã giúp tôi.
George

Man, tôi đã lãng phí vài giờ để cố gắng tìm ra lý do tại sao Textmate 2 bị trục trặc khi tôi đang chạy thử nghiệm. Điều này xóa nó ra.
Tạp hóa

Tôi cần phải su/ sudođể làm điều này, vì nó đã cố gắng viết cho /var/lib/gems. Khác hơn thế - làm việc cho jekyll.
einpoklum


12

Tài chính

gem cleanup

đã làm cho tôi.

$ 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

9

Điều này làm việc cho tôi:

bundle clean --force

sau đó

bundle install

để cài đặt lại đá quý.


6

Tôi sử dụng gem list gem-name; gem uninstall gem-nameđể làm sạch từng viên đá quý vì sự phụ thuộc. Sau đó, lỗi không hiển thị lại.


1

thêm vào

'bundle exec'

trước lệnh của bạn.

Tôi sử dụng ruby ​​2.4 và gặp vấn đề tương tự khi triển khai jekyll trên windows, nó đã được sửa.


0

Tôi đã nhận được thông báo này trong khi chạy Rspec trong một plugin gem Guard, sử dụng bundle exec rspec. Hóa ra đó là một dòng bị thiếu trong gemspectệp:

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

Dòng này thường ở đầu tập tin (trong nhiều viên đá quý tôi mới làm việc gần đây) và tôi đã nhận xét nó để xem tại sao.


0

Hãy nhớ rằng, nếu bạn muốn sử dụng bảo vệ, bạn phải thêm bảo vệ đá quý vào Gemfile.

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

Sau đó chạy

bundle install

Tôi hy vọng điều này có thể giúp bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.