2010-09-19 21 views
28

Tôi gõ này:nhập 'ray console' không bắt đầu?

>rails console 

và nhận điều này:

Usage: 
    rails new APP_PATH [options] 

Options: 
     [--skip-gemfile]  # Don't create a Gemfile 
    -d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db) 
           # Default: sqlite3 
.. 
.. 
. 

Tôi đang theo dọc theo đường ray hướng dẫn và đã bị mắc kẹt về vấn đề này.

Tôi đã cài đặt đường ray 3.0.

+0

bạn đã sửa đổi tệp bashrc (hoặc bash_profile) của mình theo bất kỳ cách nào chưa? Tôi đã từng có vấn đề này rất giống nhau sau khi sửa đổi của tôi để hiển thị các thư mục hiện tại trong dấu nhắc lệnh của tôi – stephenmurdoch

Trả lời

33

Bạn có đang ở đường dẫn gốc của ứng dụng khi bạn nhập $ rails console không?

Mẹo: $ rails c là một phím tắt cho $ rails console

+0

không, nhưng nó hoạt động khi tôi, tại sao vậy? rails -v hoạt động bên ngoài đường dẫn gốc của ứng dụng. – Blankman

+3

'rails' là một chương trình có sẵn trên toàn hệ thống. Bạn sử dụng nó để thiết lập môi trường của bạn bằng cách sử dụng 'đường ray mới '. Để sử dụng các lệnh rails cụ thể cho ứng dụng của bạn (như chạy bàn điều khiển), bạn phải nói nó ở đâu để làm việc - nghĩa là. chạy bên trong gốc của dự án. – eli

+0

Cũng đảm bảo bạn đang sử dụng cùng một phiên bản ruby ​​mà dự án sử dụng. – bradleygriffith

1

bạn có đang ở trong thư mục ứng dụng 3 đường ray không?

bạn có cài đặt nhiều phiên bản đường ray không?

thử kiểm tra 'đường ray nào' và đảm bảo đây là đường ray 3 thực thi bạn đang chạy - cách sử dụng đó trông giống như đường ray 2.x.

+0

mà rails =>/usr/bin/rails – Blankman

+0

ray -v => Rails 3.0.0 – Blankman

3

Trong Rails 2.3.x, lệnh là script/console trong thư mục ứng dụng Rails đã cho để bắt đầu bàn điều khiển Ruby với môi trường Rails mặc định được nạp vào bộ nhớ. Bạn không chắc liệu Rails 3.0 có giống nhau hay không.

1

Bạn đang chạy lệnh đúng (rails console), nhưng bạn có nhiều khả năng không có trong thư mục làm việc cho ứng dụng này. Thay đổi thư mục thành thư mục gốc của ứng dụng đường ray của bạn (dưới đây bạn sẽ tìm thấy /scripts, /app, v.v.) và lệnh sẽ hoạt động như mong muốn.

Lưu ý: Sử dụng script/console hoặc ruby script/console dành cho các phiên bản cũ hơn của Rails.

2

Bạn cần phải vào thư mục dự án và lệnh rails console ví dụ:

D:\workspace\>rails blog 
D:\workspace\>cd blog 
D:\workspace\blog\> rails c 
loading en... 
9

Tôi chỉ chạy vào vấn đề này cùng trong khi nâng cấp một ứng dụng Rails 2 đến Rails 3. Khi chạy rails console (hoặc thực sự rails [anything]) trong thư mục gốc của ứng dụng của tôi, tôi sẽ thấy kết quả đầu ra sử dụng chung của rails new (như Blankman được tham chiếu trong câu hỏi gốc).

Vấn đề là tôi đã không xóa các tập lệnh Rails 2 cũ khỏi thư mục script. Sau khi xóa mọi thứ trong thư mục script và thêm tệp script/rails được tạo tự động trong mỗi ứng dụng Rails 3 mới, lệnh rails hiện hoạt động như mong đợi.

Để nhận nội dung mới nhất của tệp script/rails, hãy tạo ứng dụng mới và sao chép tệp vào ứng dụng Rails 2 mà bạn đang nâng cấp. Tính đến Rails 3.0.7, đây là những gì trong tập tin này:

#!/usr/bin/env ruby 
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. 

APP_PATH = File.expand_path('../../config/application', __FILE__) 
require File.expand_path('../../config/boot', __FILE__) 
require 'rails/commands' 
+0

Cảm ơn người đàn ông. Tôi chạy vào vấn đề này và sao chép trên một tập tin script/rails cố định nó. – Mario

+0

Có, tính năng này hoạt động! – AnkitG

7

Tôi có vấn đề này khi tôi nâng cấp Rails 2-3 và đã có thể sửa chữa nó bằng cách làm những gì Nick nói, sau đó cũng chạy bundle exec rails console production.

32

Trong trường hợp bất cứ ai khác chạm này, các triệu chứng của tôi là:

tôi đã triển khai ứng dụng của tôi với Capistrano 3

tôi cd'd vào thư mục ứng dụng của tôi, và đường ray giao diện điều khiển đã không làm việc

Hóa ra tôi đã bao gồm thư mục bin làm thư mục được liên kết tượng trưng trong giới hạn triển khai của tôi, như sau:

set: linked_dirs,% w {log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system }

... và thư mục bin của tôi trong 'chia sẻ' trống.

Hai sửa:

  • Đảm bảo thư mục bin liên kết của bạn có nội dung đúng (có một cái nhìn bên trong của bạn # {RAILS_ROOT}/thư mục bin cho điều này là, HOẶC
  • Do bin không liên kết tượng trưng

sau đó tôi lại được triển khai và nó hoạt động.

+0

Bạn vừa mới tiết kiệm cho tôi nhiều giờ thất vọng. Đây chính là nó! – user2490003

+1

Cảm ơn rất nhiều! Hướng dẫn rõ ràng và làm việc. Nó cực kỳ khó hiểu với tôi vì 'bin' thực sự trống rỗng và tôi giống như" tại sao điều đó lại thay đổi gì? " - nhưng nó đã làm. Cảm ơn bạn! – dimitarvp

+0

Bạn cứu tôi! Anh hùng! – Howard

0

Trong trường hợp của tôi bin/rails c làm việc ra khỏi thư mục gốc ứng dụng của tôi

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