2010-04-03 27 views
8

Tôi có sẵn ứng dụng Rails 3 để dàn dựng.Không có tệp như vậy để tải lỗi trình bundler cho Rails 3

Tôi chưa thiết lập máy chủ VPS. Vì tôi đã lên kế hoạch để có mọi thứ trên máy chủ chia sẻ trong vài tháng đầu tiên.

Vấn đề:

cd myapp bó séc kết quả:

The Gemfile's dependencies are satisfied 

lỗi hành khách:

Error message: 
    no such file to load -- bundler 
Exception class: 
    LoadError 

điều bực bội về host chia sẻ là tôi có thêm những dòng này về cấu hình .ru:

ENV['GEM_HOME'] = '/home/username/.gems' 
ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8' 

Vẫn không có may mắn. Không có tập tin như vậy để tải lỗi bundler xuất hiện.

Có ai làm việc này không? Rails 3, Debian, shared host (dreamhost)?

Tôi chỉ có thể tiếp tục và đăng ký trên Slicehost/Fivebean nhưng trước khi tôi làm, tôi muốn biết tại sao lỗi đó hiển thị.

Cảm ơn.

+0

Hãy thử chmod a + rx/usr/local/rvm/-R – James

Trả lời

9

Giải pháp là đây http://rvm.beginrescueend.com/integration/passenger/. Bạn cần trỏ máy chủ HTTP của mình tới hành khách_ruby trình bao bọc thay vì bin/ruby ​​.

Ví dụ:cho RVM & Apache nó phải được một cái gì đó như thế:

PassengerRuby /Users/username/.rvm/bin/passenger_ruby 
+2

Sau đó, tại sao nó nói trên trang đó" Xin lưu ý rằng đối với Hành khách 3 bạn bây giờ sử dụng kịch bản lệnh ruby ​​wrapper trực tiếp mà không cần sử dụng wrapper passenger_ruby. "? – configurator

+3

chuỗi này đi đâu? –

+0

Giải pháp này có yêu cầu quyền truy cập root không? –

3

Rails lưu trữ trên máy chủ chia sẻ đã là một bãi mìn, nhưng ném vào Rails 3 trong tất cả các ưu đãi trước khi phát hành bao gồm Bundler sáng tạo lại quy trình làm việc rubygems là một công thức để kéo tóc ra.

Tôi lưu trữ một vài trang web Rails trên Dreamhost, nhưng chỉ các phiên bản mà họ chính thức hỗ trợ, nếu không nó không đáng để bạn bỏ thời gian. Bạn có thể nhận được một VPS bây giờ cho gần như rẻ như Dreamhost, và bạn sẽ tiết kiệm giờ và giờ của thời gian của riêng bạn.

Nếu bạn đang tìm kiếm một câu trả lời dễ dàng, tôi muốn đề nghị bỏ phiếu lên sau và vượt qua những ngón tay của bạn:

Rails 3 on dreamhost?

+0

AH yeah ... Nămbean. Hy vọng triển khai sớm. Dreamhost hút. – kgpdeveloper

4

Hành khách không đọc biến môi trường từ config.ru cho đến khi sau nó đã được tải. Nếu không có backtrace của bạn tôi không thể tích cực, nhưng tôi nghi ngờ tất cả mọi thứ sẽ làm việc nếu bạn chỉ cần chạy bundle lock. Nếu bạn vẫn gặp khó khăn sau đó, có một danh sách các thông tin xử lý sự cố ở dưới cùng của README bundler mà tôi cần phải biết chính xác những gì đang xảy ra.

+0

khóa bó đã giải quyết được sự cố của tôi. Cảm ơn nhiều! – Magnar

0

Tìm thấy một số blog ngẫu nhiên. Nó có một số dòng đã đi vào 'config.ru', điều đó dường như làm việc cho tôi.

ENV['GEM_HOME'] = '/home/farleyknight/.gems' 
ENV['GEM_PATH'] = '$GEM_HOME:/usr/lib/ruby/gems/1.8' 
require 'rubygems' 
Gem.clear_paths 

Có lẽ nó sẽ làm việc cho bạn ..

+1

nó không hoạt động ở đây. Tôi đã bỏ phiếu vì lỗi đánh máy. Dòng ENV ['GEM_PATH'] phải đọc như sau: ENV ['GEM_PATH'] = "# {ENV ['GEM_HOME']}:/usr/lib/ruby ​​/ gems/1.8" –

+0

$: << "/ usr/lib/ruby ​​/ gems/1.8/gems/bundler-0.9.26/lib ", mặt khác, đã làm việc cho tôi: S –

2

Đối với tôi, điều này hóa ra lại là một vấn đề với các chỉ thị passenger_ruby rằng hành khách-cài đặt-nginx-mô-đun spits ra ở phần cuối của cài đặt. Nó thiếu tên gemset trong đường dẫn đến ruby.

này hoạt động: (sửa chữa)

passenger_ruby /Users/dzello/.rvm/wrappers/[email protected]/ruby; 

này không: (những gì hành khách-cài đặt-nginx-mô-đun spits ra)

passenger_ruby /Users/dzello/.rvm/rubies/ruby-1.9.2-p0/bin/ruby 

Lưu ý dòng passenger_ruby không bao gồm các hợp gem path - phần @ rails3 (rails3 là tên gemset) bị thiếu, mặc dù nó đã đúng với root của hành khách.

+1

Ngoài ra - ruby ​​là trong/wrappers bây giờ, không/rubies ... mà một trong những bắt tôi ra – bodacious

+0

Thực tế là điều này cần phải được thực hiện và chỉ thị sai được nhổ ra bởi kịch bản là một chút tức giận. –

0

Tôi gặp sự cố này với vps plus rvm, rails3, capistrano và nginx.

Hành khách đã được cài đặt bằng thư mục gốc nhưng trang web đã được cài đặt bởi cáo người dùng. Nginx (root) được cấu hình để chạy ứng dụng dưới dạng cáo. Khi đăng nhập dưới dạng con cáo, Bundler đã được cài đặt nhưng chạy trình quản lý danh sách đá quý như root không cho thấy đá quý.

Khởi động hành khách sẽ khiến trình chặn lỗi bị thiếu. Chỉ chữa bệnh cho điều này là cài đặt bundler như root AND fox. Tôi đoán kiểm tra hành khách cho bundler trong khi không theo cáo người dùng như cấu hình trong nginx.

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