2013-07-31 24 views
11

Tôi đang sử dụng Ruby on Rails 4.lỗi Ruby: không thể tải tập tin như vậy - còn lại-client

Tôi cố gắng để

require 'rest-client' 

trong điều khiển của tôi để tôi có thể phân tích các thông tin đăng nhập tôi đang nhận được từ một biểu mẫu và gửi nó đến một API.

Tôi có thể xác minh rằng đá quý được cài đặt và cũng nằm trong Gemfile của tôi trên gốc ứng dụng.

Tuy nhiên, nó vẫn đang ném "không thể tải tệp như vậy - phần còn lại-khách hàng" khi tôi cố gắng yêu cầu tệp trong bộ điều khiển của tôi.

Tôi đã googled lỗi và hầu hết các câu trả lời tôi thấy là đá quý chưa được cài đặt, không phải trong Gemfile hoặc kết hợp cả hai. Không phải là tình huống ở đây.

Bộ điều khiển của tôi không thể truy cập đá quý phần còn lại của khách hàng vì một số lý do? Tôi phải sử dụng phần còn lại-khách hàng vì nó là cần thiết trong API.

Đây là dòng tôi đã sử dụng để cài đặt các viên ngọc:

gem install rest-client 

Đây là trang chủ của đá quý: https://github.com/archiloque/rest-client
Mà chỉ cần chuyển hướng bạn đến https://github.com/rest-client/rest-client

Tôi cũng nên lưu ý rằng nó hoạt động tốt khi tôi không sử dụng mã trong dự án Rails nhưng chỉ chạy các lệnh trong Terminal.

+0

Theo tài liệu github bạn cần thực hiện yêu cầu 'rest_cli ent 'với dấu gạch dưới. – yarakyo

+0

Tôi đã thực hiện thay đổi đó với cùng một lỗi kết quả. – Jerrod

+0

Nó xuất hiện trong gói. Khởi động lại máy chủ đã làm nó. Cảm ơn Abe. – Jerrod

Trả lời

14

Giả sử bạn đang sử dụng https://github.com/rest-client/rest-client(vì bạn không nói rõ), dòng require của bạn nên được

require 'rest-client' 

theo README. Ngoài ra, hãy đảm bảo bạn khởi động lại máy chủ đường ray sau khi thêm đá quý vào số Gemfile và chạy bundle.

+1

Điều này không còn áp dụng được – poorva

+0

Nó đã được đăng gần 3 năm trước. Vui lòng đề xuất chỉnh sửa nếu bạn có thay đổi để làm cho nó có liên quan. – deefour

+0

Vâng, bạn không thể làm một chỉnh sửa 1 ký tự :), hãy thay đổi này từ 'require 'rest_client'' cho' yêu cầu nghỉ ngơi-client' – poorva

-1

Hãy thử require 'rest_client', thay vì require 'rest-client'

0

Đầu tiên chắc chắn rằng bạn đã cài đặt gem 'rest-client', ~>1.8.0 trong hồ sơ đá quý của bạn. Chạy cài đặt gói và sau đó require 'rest_client'. Điều này làm việc cho tôi.

0

Đối với tôi, đó là vấn đề với gói (mà tôi nghĩ rằng tôi đã cài đặt). Cảnh báo spoiler, tôi đã không, và đây là cách tôi sửa nó. Tôi đang trên một máy Mac chạy OS X Yosemite và phiên bản thiết bị đầu cuối của tôi là Darwin Kernel Version 14.3.0:

cd 
gem install bundler 

hoặc

cd 
sudo gem install bundler 

Nếu bạn nhận được một cái gì đó dọc theo dòng của các lỗi sau:

LRI: Khi thực thi gem ... (Gem :: FilePermissionError) Bạn không có quyền ghi cho thư mục /Library/Ruby/Gems/2.0.0.

Cuối cùng, hãy thay đổi đòi hỏi dòng từ:

require 'rest-client' 

để

require 'rest_client' 

Sau đó chạy mã của bạn!

3

Chạy lệnh sau trong terminal của bạn:

gem install rest-client 

và sử dụng require 'rest-client'. Không cần phải thay đổi thành rest_client.

1

trong trường hợp của tôi, không ai trong số các giải pháp trong chủ đề này làm việc
gì công việc đã làm, là để thêm đá quý trực tiếp trong Gemfile:

gem 'rest-client' 

sau khi đóng rails server, thoát rails console và chạy bundle install,
Tôi đã mở lại một lần nữa rails console và lần này require 'rest-client' đã hoạt động hoàn hảo

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