我試圖運行一個rails服務器,當我運行bundle install命令時,我得到以下錯誤:
發生了錯誤 同時安裝json(1.8.3),而且Bundler不能
繼續。
確保`gem install json -v '1.8.3' --source 'https://rubygems.org/'`在捆綁前成功。
成功,然后再進行捆綁。
當我運行推薦的命令gem install gem install json -v '1.8.3' --source 'https://rubygems.org/'時,我得到錯誤的構建本地擴展
構建本地擴展。這可能需要一個時間...
ERROR: Error installing json:
ERROR: 構建gem native extension失敗。
當前目錄: /home/user/.rvm/gems/ruby-2.5。 3/gems/json-1.8.3/ext/json/ext/generator
/home/user/.rvm/rubies/ruby-2.5.3/bin/ruby -I /home/user/.rvm/rubies/ruby-2.5。 3/lib/ruby/site_ruby/2.5.0 -r ./siteconf20210822-1039031kc2ys9.rb extconf.rb
創建Makefile
當前目錄: /home/user/.rvm/gems/ruby-2.5。 3/gems/json1.8.3/ext/json/ext/generator
使"DESTDIR="干凈。
當前目錄: /home/user/.rvm/gems/ruby-2.5。 3/gems/json1.8.3/ext/json/ext/generator
使"DESTDIR=".
編譯 generator.c
generator.c: 在函式'generate_json'中。
generator.c:861:25。error: 'rb_cFixnum' undeclared (first use in this function); did you mean 'mFixnum' ?
861 | } else if (klass == rb_cFixnum) {
| ^~~~~~~~~~
| mFixnum
generator.c:861:25:注意:每個未宣告的識別符號只報告一次 對于它出現在中的每個函式
generator.c:863:25: error: 'rb_cBignum' undeclared (first use in this function); did you mean 'mBignum' ?
863 | } else if (klass == rb_cBignum) {
| ^~~~~~~~~~
| mBignum
generator.c:在頂部水平:
cc1: 警告:未識別的命令列選項'-Wno-self-assign'
cc1: warning:未識別的命令列選項'-Wno-constant-logical-operand' 。
cc1: warning:未識別的命令列選項'-Wno-parentheses-equality'。
make: *** [Makefile:242: generator.o] Error 1
make失敗,退出代碼2。
我不知道該如何解決這個問題,希望得到任何幫助
。uj5u.com熱心網友回復:
你試圖安裝一個2015年的舊版本的 gem json。
這個 gem 依賴于一些 ruby 頭檔案,例如 Bignum,而這個頭檔案在最近的 ruby 版本中被移除。
gem install json -v '2.5.1' --source 'https://rubygems.org/'
或者,你可以嘗試將你的 ruby 版本降級到 2.3.0,并嘗試在 1.8.3 上安裝 json 版本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/313790.html
標籤:
