Đây là bản theo dõi this question.Cập nhật Gem trên Windows - có bị hỏng không?
Khi tôi thực hiện lệnh gem update
trên Windows, bất cứ khi nào nó được cho một viên ngọc có phiên bản mới nhất KHÔNG có mã nhị phân Windows, nó sẽ cố gắng xây dựng mở rộng bản địa mà sẽ, tất nhiên, thất bại. Ví dụ:
Updating sqlite3-ruby
Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.
c:/ruby/bin/ruby.exe extconf.rb update
checking for fdatasync() in rt.lib... no
checking for sqlite3.h... no
nmake
'nmake' is not recognized as an internal or external command,
operable program or batch file.
Hành vi trước 1.x của yêu cầu nền tảng bắt buộc ít nhất được cập nhật có thể. Bây giờ tôi không thể cập nhật ở tất cả trừ khi tôi gỡ bỏ các đá quý rắc rối (hiện tại sqlite3-ruby và hpricot), chạy bản cập nhật, sau đó cài đặt lại các đá quý bằng cách sử dụng chuyển đổi --version.
Có ai có giải pháp cho câu hỏi hóc búa này hay chúng ta bị mắc kẹt với nó?
Lưu ý:
$ gem -v
1.2.0
$ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
Note (26 September 2008): tôi chỉ cập nhật để đá quý 1.3.0 và vấn đề này vẫn còn.
Lưu ý (18 tháng 11 năm 2008): Chỉ cập nhật lên đá quý 1.3.1 và sự cố vẫn tiếp diễn.
Lưu ý (28 tháng 4 năm 2009): Phiên bản mới nhất của Gems (1.3.2) hiện bỏ qua bất kỳ đá quý nào không xây dựng tiện ích mở rộng gốc trong quá trình cập nhật; nói cách khác, vấn đề là cố định. Hoan hô!
Bạn có nghĩa là 28 tháng 4 năm 2009? Hoặc là bạn sau khi huy hiệu du lịch thời gian? –
Điều gì sẽ xảy ra nếu tôi muốn cài đặt một viên đá quý mới và nó không thành công khi cài đặt? Gems 1.3.2 đã giải quyết vấn đề này chưa ?? –
Có, vấn đề này từ lâu đã được khắc phục. Tính đến hôm nay, chúng ta đang ở phiên bản RubyGems 1.3.7. –