2013-07-15 30 views
29

Tôi đang chạy Crunchbang 11 (dựa trên Debian).Lỗi khi cài đặt Ruby on Rails: "Không thể xây dựng phần mở rộng gốc đá quý"

Tôi đang cố gắng để cài đặt Ruby on Rails, như thế này:

gem install rails --version 4.0.0 

tôi nhận được báo lỗi "Không thể xây dựng ngọc mở rộng bản địa".

ruby ​​của tôi là phiên bản 2.0.0p247, RubyGems của tôi là 2.0.0.

Sự cố ở đây là gì?


Đây là sản phẩm lỗi đầy đủ:

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

    /home/erlkoenig/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb 
creating Makefile 

make 
compiling atomic_reference.c 
linking shared-object atomic_reference.so 

make install 
/usr/bin/install -c -m 0755 atomic_reference.so /home/erlkoenig/.rvm/gems/ruby-2.0.0-p247/gems/atomic-1.1.10/lib/home/erlkoenig/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/x86_64-linux 
/usr/bin/install: cannot create regular file `/home/erlkoenig/.rvm/gems/ruby-2.0.0-p247/gems/atomic-1.1.10/lib/home/erlkoenig/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/x86_64-linux': No such file or directory 
make: *** [install-so] Error 1 


Gem files will remain installed in /home/erlkoenig/.rvm/gems/ruby-2.0.0-p247/gems/atomic-1.1.10 for inspection. 
Results logged to /home/erlkoenig/.rvm/gems/ruby-2.0.0-p247/gems/atomic-1.1.10/ext/gem_make.out 

My env:

ORBIT_SOCKETDIR=/tmp/orbit-erlkoenig 
SSH_AGENT_PID=2695 
rvm_bin_path=/home/erlkoenig/.rvm/bin 
GEM_HOME=/home/erlkoenig/.rvm/gems/ruby-2.0.0-p247 
SHELL=/bin/bash 
TERM=xterm-256color 
XDG_SESSION_COOKIE=9e0343c07c890bd2d60ee6a750f36c6c-1373892339.852749-193038580 
IRBRC=/home/erlkoenig/.rvm/rubies/ruby-2.0.0-p247/.irbrc 
WINDOWID=39845892 
GNOME_KEYRING_CONTROL=/home/erlkoenig/.cache/keyring-g6PRS5 
MY_RUBY_HOME=/home/erlkoenig/.rvm/rubies/ruby-2.0.0-p247 
USER=erlkoenig 
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36: 
rvm_path=/home/erlkoenig/.rvm 
SSH_AUTH_SOCK=/tmp/ssh-XVmUxMD7LHwi/agent.2651 
rvm_prefix=/home/erlkoenig 
PATH=/home/erlkoenig/.rvm/gems/ruby-2.0.0-p247/bin:/home/erlkoenig/.rvm/gems/[email protected]/bin:/home/erlkoenig/.rvm/rubies/ruby-2.0.0-p247/bin:/home/erlkoenig/.rvm/bin:/home/erlkoenig/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/erlkoenig/.rvm/bin:/home/erlkoenig/.scripts:/home/erlkoenig/.scripts/netlogo-5.0.3:/opt/node/bin 
MAIL=/var/mail/erlkoenig 
PWD=/home/erlkoenig 
EDITOR=vim 
GNOME_KEYRING_PID=2575 
LANG=en_US.UTF-8 
rvm_env_string=ruby-2.0.0-p247 
rvm_version=1.21.9 (stable) 
SHLVL=1 
HOME=/home/erlkoenig 
rvm_ruby_string=ruby-2.0.0-p247 
LOGNAME=erlkoenig 
GEM_PATH=/home/erlkoenig/.rvm/gems/ruby-2.0.0-p247:/home/erlkoenig/.rvm/gems/[email protected] 
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-9eOdnYZelY,guid=a5db4ca68e107a48a04c8b8e51e3eef4 
DISPLAY=:0.0 
RUBY_VERSION=ruby-2.0.0-p247 
XAUTHORITY=/home/erlkoenig/.Xauthority 
COLORTERM=gnome-terminal 
_=/usr/bin/env 
+2

thử sudo gem install rails --version 4.0.0 –

+0

Tôi vẫn gặp lỗi. – LonelyWebCrawler

+1

Thêm kết quả của 'env' –

Trả lời

49

Rails 4.0 nhu cầu RubyGem phiên bản 2.0.3, Chỉ cần cập nhật hệ thống của bạn bằng cách sử dụng lệnh sau

gem update --system 2.0.3 
+1

Điều này đã làm điều đó, cảm ơn. Ngoài sự tò mò, tôi có thể hỏi bạn đã nhận được thông tin này từ đâu không? – LonelyWebCrawler

+9

Tôi biết điều này không liên quan đến vấn đề này cụ thể, nhưng một tìm kiếm của Google về vấn đề của tôi (cài đặt Compass và nhận 'mkmf.rb không thể tìm thấy tập tin tiêu đề cho ruby ​​tại/usr/lib/ruby ​​/ include/ruby. h') dẫn đến câu hỏi này StackOverflow, do đó, trong trường hợp bất cứ ai có cùng một vấn đề, giải pháp là để có được ruby-dev ('sudo apt-get cài đặt ruby-dev'.) –

+0

Cảm ơn rất nhiều @RiverTam, mà cố định nó cho tôi nữa. – arkhi

0

Hãy thử

sudo gem install rails --version 2.0

để cài đặt thư viện.

5

Chỉ cần một theo dõi ... về giải pháp khác nhau ...

nó có thể là bạn đang ở trên một mac và đường ray không thể tìm thấy các trình biên dịch phù hợp với tiêu đề c.

chỉ cần cài đặt xcode từ các ứng dụng lưu trữ/homebrew hoặc đi đến thiết bị đầu cuối ...

$ xcode-select --install

hoàn tất cài đặt và thoả thuận về việc cấp phép vv, sau đó ...

$ sudo gem install rails

0

tôi đã có cùng một lỗi khi cài đặt đường ray, nhưng tôi đã giải quyết nó bằng cách chạy lệnh: gem install rails mà không cần thêm sudo.

+0

Nhưng nếu bạn không thêm' sudo', bạn không có quyền cài đặt đá quý ... – Pavel

3

Có vấn đề tương tự khi cài đặt đường ray với lệnh "gem install rails -v 5.1.2" trên windows7, được giải quyết sau khi cài đặt "MSYS2 và MINGW development toolchain" (lệnh ridk install then option 3) .. một thời gian để kết thúc quá trình cài đặt và sau đó tôi cài đặt đường ray mà không cần bất kỳ vấn đề

0

Đối với bất cứ ai đã nhận lỗi: "không thể để xây dựng mở rộng nguồn gốc đá quý”, trong khi chạy sudo gem install rails, và nó nói somethings về 'nokogiri'

. Có thể vì bạn đang sử dụng cùng một phiên bản ruby ​​như hệ thống đang sử dụng (đối với người dùng mac), giải pháp sẽ cài đặt RVM, sử dụng RVM để cài đặt một phiên bản ruby ​​khác ion.

Vì vậy, bây giờ bạn có 2 phiên bản Ruby trên máy của bạn, RVM sẽ tự động chuyển sang phiên bản mới được cài đặt. bây giờ, bạn có thể chạy gem install rails mà không có lỗi và không có sudo.

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