Saya mencoba menjalankan gem install json dan mendapatkan kesalahan berikut
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [generator.bundle] Error 1
make failed, exit code 2
Gem files will remain installed in /opt/boxen/repo/.bundle/ruby/2.0.0/gems/json-1.8.0 for inspection.
Results logged to /opt/boxen/repo/.bundle/ruby/2.0.0/extensions/universal-darwin-13/2.0.0/json-1.8.0/gem_make.out
Saya menggunakan:
Os X: 10.9.2
Xcode: 5.1 Bangun versi 5B130a
Command Line Tools (CLT): 5.1.0.0.1.1393561416
Ruby: ruby 2.0.0p247 (2013-06-27 revisi 41674) [universal.x86_64-darwin13]
Permata Ruby: 2.2 .2
GCC: 4.2.1 Apple LLVM versi 5.1 (clang-503.0.38) (berdasarkan LLVM 3.4svn)
Jawaban:
Saya mengalami masalah yang sama persis setelah memperbarui Xcode ke 5.1 dan berita dari Apple tidak bagus. Dari Catatan Rilis Xcode 5.1 :
Tampaknya semua permata yang melanggar opsi kompiler harus diperbarui untuk menggunakan opsi yang valid. Dinyatakan secara eksplisit bahwa: Opsi ini [downgrading error to warning] tidak akan didukung di masa mendatang .
Catatan dentang yang kami lihat ( ini akan menjadi kesalahan yang sulit (tidak dapat diturunkan menjadi peringatan) di masa mendatang ) sesuai dengan perubahan yang diumumkan dalam catatan rilis.
Untuk menjawab pertanyaan Anda secara khusus, gunakan yang berikut ini untuk menginstal permata json:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json
Perhatikan, bagaimanapun, bahwa ini hanya perbaikan sementara.
sumber
ARCHFLAGS
dua kali: saat menginstal permata rusak tertentu dan saat menjalankan Bundler.clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
Ada ide?export ARCHFLAGS="..."
, lalu menjalankan perintah kompilasi Anda di baris baru, sepertigem install json
(Saya sedang mengompilasi modul Python sendiri). Ngomong-ngomong, jangan lupa untuk menambahkan archflag yang ada sebelumnya ke baris, atau mereka akan ditimpa.Satu baris untuk memperbaikinya
sumber
patching file /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/rbconfig.rb Hunk #1 FAILED at 82. Hunk #2 FAILED at 125. 2 out of 2 hunks FAILED -- saving rejects to file /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/rbconfig.rb.rej
Untuk mengatasi masalah ini, Anda dapat menginstal ruby versi terbaru seperti yang dijelaskan oleh @Sash. Anda dapat menggunakan perintah berikut untuk melakukannya. Jika Anda sudah menginstal rvm, Anda tidak perlu menginstalnya kembali.
sumber
Masalah sudah ditangani oleh Ruby:
https://bugs.ruby-lang.org/issues/9624
sekarang kita hanya perlu menunggu Apple untuk memperbarui versi ruby mereka (2.0.0p247) ke versi terbaru (2.0.0p451) yang belum keluar ... (atau buat / macport itu)
Perbarui (2014-05-15): Mavericks 10.9.3 memperbarui ruby ke
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
Dan ini tampaknya menyelesaikan masalah.sumber
@Muncken sudah memberikan jawaban untuk memasang gem satu per satu:
Berdasarkan jawaban Muncken, saya sudah mencobanya juga berfungsi saat menggunakan
bundle install
sumber
gem install
, saya mencoba itubundle install
juga berfungsiDalam kasus saya, saya sebenarnya memiliki masalah yang sama, tetapi tidak pada ruby sistem, tetapi pada rubi yang diinstal oleh rvm dari OSX 10.8, dan memiliki masalah setelah memutakhirkan ke OSX 10.9.
Penginstalan ulang sederhana berfungsi:
rvm reinstall ruby-2.1.1
sumber
Di OSX 10.10, saya mengalami beberapa masalah saat menjalankan
rails new firstapp
seperti:Saya memperbarui rvm dengan konfigurasi ini dan semua kesalahan hilang !:
Anda dapat mengetahui dari nama aplikasinya bahwa saya baru saja mulai mengutak-atik Ruby on Rails, jadi saran di atas mungkin berhasil atau tidak untuk Anda.
sumber
Satu baris Paul Chechetin tampaknya tidak berfungsi lagi (9/21/15). Namun, balasan untuk postingan yang disebutkan dalam balasan Pete ini memecahkan masalah saya:
sudo gem uninstall compass
sudo gem install compass
sumber
gem install json
lagi dan berhasil!Tak satu pun dari ini berhasil untuk saya.
Apa yang akhirnya berhasil adalah menjalankan perintah dengan sudo -
pasang permata byebug -v '9.0.6'
sumber
Saya menggunakan solusi sederhana ... instal melalui minuman
brew install name
sumber