2012-06-15 38 views
22

Sử dụng Ubuntu, khi tôi chạy "bundle install" để thiết lập môi trường Rails của tôi, nó ném một lỗi trong khi cài đặt đá quý JSON:Tại sao tôi gặp lỗi khi cài đặt đá quý JSON trong Ubuntu?

Installing json (1.7.3) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

/usr/bin/ruby1.9.1 extconf.rb 
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError) 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from extconf.rb:1:in `<main>' 

Gem files will remain installed in /home/danny/.bundler/tmp/2040/gems/json-1.7.3 for inspection. 
Results logged to /home/danny/.bundler/tmp/2040/gems/json-1.7.3/ext/json/ext/parser/gem_make.out 
An error occured while installing json (1.7.3), and Bundler cannot continue. 
Make sure that `gem install json -v '1.7.3'` succeeds before bundling. 

Khi tôi thử cài đặt chỉ là viên ngọc JSON 1.7.3 nó cũng mang lại cho tôi một lỗi:

Building native extensions. This could take a while... 
ERROR: Error installing json: 
    ERROR: Failed to build gem native extension. 

/usr/bin/ruby1.9.1 extconf.rb 
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError) 
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from extconf.rb:1:in `<main>' 

Gem files will remain installed in /var/lib/gems/1.9.1/gems/json-1.7.3 for inspection. 
Results logged to /var/lib/gems/1.9.1/gems/json-1.7.3/ext/json/ext/parser/gem_make.out 

Tôi đã cài đặt RVM và đang chạy Ruby 1.9.3; Tại sao nó không thể cài đặt đá quý JSON?

Trả lời

69

Cài đặt gói ruby1.9.1-dev nên sửa lỗi này cho bạn:

sudo apt-get install ruby1.9.1-dev 
+0

Đó làm việc, cảm ơn! Nhưng liệu có tác dụng phụ nào khác? – TownWizard

+1

Không thực sự, các "devkit" chỉ cần thiết lập các móc và các tùy chọn cần thiết để biên dịch các phần mở rộng mà yêu cầu nó. Đá quý JSON sử dụng [tiện ích mở rộng được viết bằng C cho tốc độ] (http://flori.github.com/json/doc/index.html). Nếu bạn * thực sự * không muốn (hoặc không thể) cài đặt devkit, bạn có thể cài đặt nền tảng ruby ​​thuần khiết với 'gem install json pure'. – harbichidian

+1

Điều này làm việc cho tôi. Tôi đang sử dụng Ubuntu FYI. –

Các vấn đề liên quan