2012-01-17 24 views
7

Mục tiêu của tôi là sử dụng Pry làm bảng điều khiển cho ứng dụng Rails của tôi, cả cục bộ lẫn trên máy chủ dàn dựng của tôi. Nhưng tôi không thể làm cho nó hoạt động trên Heroku.Tại sao Pry không chạy trong bảng điều khiển của Heroku?

Tôi đang theo dõi these hướng dẫn để đưa Heroku sử dụng Pry làm bảng điều khiển cho ứng dụng Rails của tôi. Khi tôi chạy heroku run console pry, bảng điều khiển của tôi in Running console pry attached to terminal... up, run.1 và sau đó thoát. Khi tôi chạy heroku console pry, chỉ cần nói main và sau đó thoát.

Bất kỳ ý tưởng nào về những gì tôi đang làm sai?

Dưới đây là những gì tôi đã làm như vậy cho đến nay:

  1. Trong tôi Gemfile Tôi đã thêm các dòng:
    gem 'pry'
    gem 'pry-rails'

  2. tôi đã tạo ra một tập tin được gọi là pry có chứa:
    #!/usr/bin/env ruby
    require 'pry'
    pry

  3. tôi đã thêm dòng sau vào tất cả các file trong config/môi trường:
    silence_warnings do
    begin
    require 'pry'
    IRB = Pry
    rescue LoadError
    end
    end

  4. chạy bundle install

  5. chạy git push staging master
+1

Tôi nghĩ rằng đặt nó là gốc của dự án (cùng thư mục với 'Gemfile' et al) là chính xác. Khi đề cập đến @JohnBachir, hãy đảm bảo rằng bạn cũng có 'gem 'pry'' trong Gemfile của mình và bạn đã chạy' bundle install' và sau đó thêm 'pry',' Gemfile' và 'Gemfile.lock' vào kho lưu trữ của bạn trước khi đẩy nó cho Heroku. –

+0

@Jordan, tôi đã làm điều đó; chỉ cần cập nhật câu hỏi để phản ánh nó. – thewillcole

Trả lời

12

Tôi là người đã phát triển phương pháp cho Heroku và Pry nhưng bạn đã đưa ra một trường hợp thú vị mà tôi không nghĩ đến vì tôi chủ yếu triển khai với Sinatra và EM và xây dựng những người trợ giúp của riêng tôi.Dù bằng cách nào:

Để sử dụng Pry với Heroku trong khi có một ứng dụng Rails bạn chỉ cần thêm người tò mò-ray và cạy để gemfile của bạn (như một Gem bình thường) và sau đó bundle install và sau đó git [commit|push] và chạy heroku run console trên Cedar stack. Bước 3 của những gì bạn đã làm nơi bạn điều chỉnh cấu hình/môi trường không và không nên được thực hiện vì vậy vui lòng hoàn nguyên thay đổi đó nếu có thể. Sau khi bạn làm điều đó và loại bỏ các kịch bản nâng lên từ gốc của ứng dụng của bạn (tốt, bạn không nhất thiết cần phải làm sau này) Pry sẽ tải với Rails của bạn đúng cách.

+0

Uh-oh. Tôi đang trên 'bamboo-mri-1.9.2' chứ không phải' ceder'. Nó chỉ hoạt động trên 'ceder'? – thewillcole

+0

@ theWillCole Bạn sẽ có thể sử dụng nó trên Bamboo là tốt, chỉ cần điều chỉnh khởi động giao diện điều khiển để một trong những yêu cầu của chồng của bạn mà tôi tin rằng tre chỉ là 'heroku console' cho Bamboo stack. –

+0

Tôi đã nâng cấp lên máy chủ "mỏng" và ngăn xếp "tuyết tùng" của heroku. Một nơi nào đó dọc theo dòng pry bắt đầu làm việc. Tôi không hoàn toàn chắc chắn vấn đề là gì, nhưng câu trả lời này làm việc cho tôi bây giờ. – thewillcole

0

Bạn có thể có liệt kê nó trong bundler bạn Gemfile.

+0

Đã làm điều đó nhưng quên đề cập đến nó trong câu hỏi. Bất kỳ suy nghĩ nào khác? – thewillcole

3

Tôi vừa mới sử dụng hướng dẫn tại https://github.com/pry/pry/wiki/Setting-up-Rails-or-Heroku-to-use-Pry để thiết lập, tệp nâng cấp sẽ nằm trong thư mục gốc của dự án của bạn. Cam kết và đẩy đến Heroku - Tôi đang sử dụng ngăn xếp Cedar.

Tạo phiên giao diện điều khiển thành heroku run console pry - Tôi đã nhận thấy rằng tôi đã thực hiện sau đó cần phải thực thi pry để được thả vào lời nhắc khẩn cấp nhưng sau đó hoạt động như tôi mong đợi.

CẬP NHẬT: Chỉ cần rõ ràng, tôi đã thêm pry vào Gemfile và tạo tệp nâng lên theo hướng dẫn. Là vấn đề của bạn mà bạn đang khóa pry trong gemfile của bạn để dev/thử nghiệm - là bạn chạy các ứng dụng của bạn trên Heroku trong những môi trường? Do đó tại sao bạn đang nhận được các phương pháp không xác định?

+0

Tôi đã xóa: groups => [: development,: test] khỏi Gemfile của tôi. Tôi không còn nhận được lỗi phương thức chưa được xác định nữa, nhưng bảng điều khiển vẫn thoát ngay khi tôi khởi động nó. – thewillcole

+0

Đối với khách truy cập trong tương lai đối với câu hỏi này, vì các hướng dẫn hiện đang đứng trong năm 2017, chỉ cần chạy 'bảng điều khiển chạy heroku '. – Evolve

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