2016-01-19 11 views
6

Tôi mới vào Ruby on Rails, và tôi cài đặt ruby ​​theo nguồn.Rails console yêu cầu không thể tải tập tin như vậy đọc

Phiên bản Ruby là 2.3.0 và phiên bản đường ray là Rails 4.2.5.

Tôi không thể chạy rails c hoặc rails console.

Nó đem lại cho tôi những lỗi sau:

Running via Spring preloader in process 4267 
/usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require': cannot load such file -- readline (LoadError) 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `block in require' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require' 
from /usr/local/lib/ruby/2.3.0/irb/completion.rb:10:in `<top (required)>' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `block in require' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require' 
from /usr/local/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/commands/console.rb:3:in `<top (required)>' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `block in require' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require' 
from /usr/local/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:123:in `require_command!' 
from /usr/local/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:58:in `console' 
from /usr/local/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 
from /usr/local/lib/ruby/gems/2.3.0/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `block in require' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require' 
from /home/james/Desktop/myapp/bin/rails:9:in `<top (required)>' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `load' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `block in load' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /usr/local/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `load' 
from /usr/local/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /usr/local/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from -e:1:in `<main>' 

EDIT

tôi cố gắng giải pháp thứ hai trong liên kết @Vasfed, và nó cho tôi lỗi sau:

make: *** No rule to make target `/internal.h', needed by `readline.o'. Stop. 
+5

thử 'spring stop' và hơn' ray c' –

+0

tôi đã thử, nhưng vẫn chạy qua trình tải trước Spring. Btw, Spring là gì? – James

+0

để loại bỏ nó từ 'Gemfile' hơn trong giao diện điều khiển' bó' hơn 'đường ray c' –

Trả lời

9

đá quý Readline được yêu cầu bởi đơn đăng ký của bạn nhưng không được chỉ định trong Gemfile

của bạn

Hãy thêm video này vào tập tin đá quý của bạn

gem 'rb-readline' 

Ngoài ra cài đặt lại

libreadline-dev 
+0

vẫn gặp lỗi tương tự: '( – James

+0

thử xóa phiên bản ruby ​​và cài đặt lại và sau đó thực hiện các bước trên.Tôi hy vọng nó hoạt động vì nó sẽ tạo lại phụ thuộc ruby ​​ –

+0

Sau khi cài đặt lại, nó hoạt động – James

1

Nếu bạn cài đặt từ mã nguồn, cài đặt libredline-dev đầu tiên và sau đó đi đến ruby-2.3.0/ext/readline (hoặc bất cứ nơi nào mã nguồn là)/ext/readline.

ruby extconf.rb

make

make install

nếu bạn nhận được một lỗi, sửa Makefile sau khi runing extconf.rb và thêm top_srcdir = ../.. sau archdir = $(rubyarchdir).

Sau đó, chạy lại make && make install.

+0

Hoàn hảo, bạn đã lưu ngày của tôi. – Berti92

0

Bạn cần một số phụ thuộc thêm

sudo apt-get install build-essential libssl-dev curl libcurl3 libreadline-dev libcurl4-openssl-dev libffi-dev libgdbm3 libgdbm-dev 

Sau khi cài đặt dependences, làm điều này trong ruby ​​thư mục mã nguồn:

.configure 
make 
sudo make install 
0

cài đặt đá quý rb-readline là một cách giải quyết.

Bạn không nên yêu cầu, thay vào đó, ruby ​​của bạn nên được cài đặt với ext/readline.

Cho rằng bạn cần ncurses devel và thư viện devel readline

Trong CentOS đó là yum install readline readline-devel ncurses ncurses-devel

Oh, và sau khi cài đặt các thư viện, bạn nên biên dịch lại ruby ​​của bạn.

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