我一直在使用Ruby on Rails和postgresql,並且有人建議我應該安裝RVM(我認爲它是利用Phonegap)。由於我放置了RVM,我一直無法執行bundle install
,這反過來意味着我不能再運行其他的rails命令。RVM和Bundler,byebug gem:不支持C擴展
很多閱讀並沒有給我一個答案,但我有很多想法。也許有人可以幫助將這些想法集中到解決方案中?
當我運行bundle install
有3個寶石似乎是造成這個問題,但我認爲它們是相通的。他們是byebug 8.2.2
和pg 0.18.4
和binding_of caller 0.7.2
的byebug-8.2.2/gem_make_out
內容如下:
/home/damo/.rvm/rubies/jruby-9.0.5.0/bin/jruby -r ./siteconf20160927-16151-j7mhkf.rb extconf.rb
NotImplementedError: C extensions are not supported
<top> at /home/damo/.rvm/rubies/jruby-9.0.5.0/lib/ruby/stdlib/mkmf.rb:1
require at org/jruby/RubyKernel.java:937
(root) at /home/damo/.rvm/rubies/jruby-9.0.5.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
<top> at extconf.rb:6
extconf failed, exit code 1
當我看byebug issues它只是說,byebug不支持JRuby的。
我沒有任何問題之前,我安裝了RVM,我敢肯定,我讀了byebug被硬連線到Rails 4,我想告訴你我的Rails版本,但rails -v
給我的迴應
Could not find proper version of railties (4.2.5) in any of the sources
Run `bundle install` to install missing gems.
這似乎是我的Catch 22!
好吧,現在一切正常。基於下面的回答,我假設安裝RVM將我切換爲jRuby的默認值。在我設置了'rvm use ruby-2.3.0'並重新安裝'bundler'後,我可以'捆綁安裝'並修復東西。爲了確保我不會遇到類似的問題,我運行了'rvm default runy-2.3.0'。另外,我不得不'chmod'一些目錄來授予我安裝gem的讀/寫權限。 – fatherdamo
要更改默認的ruby,正確的指令是'rvm - 默認使用'。重新啓動後,我仍然遇到'gem install pg -v'0.18.4'的一個小問題。我不知道爲什麼,但是我需要'sudo yum install postgresql-devel',這是我預計在現在需要使用的。無論如何,現在所有人似乎都在工作。 –
fatherdamo