2010-09-19 21 views
28

he escrito esto:escribiendo 'Rails console' no se inicia?

>rails console 

y tiene esto:

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 
.. 
.. 
. 

estoy siguiendo a lo largo del tutorial de rieles y se quedó atascado en esto.

Tengo instalados los rieles 3.0.

+0

¿ha modificado su archivo bashrc (o bash_profile) de alguna manera? Una vez tuve este mismo problema después de modificar el mío para mostrar el directorio actual en mi símbolo del sistema – stephenmurdoch

Respuesta

33

¿Está en la ruta raíz de su aplicación cuando escribe $ rails console?

Consejo: $ rails c es un acceso directo para $ rails console

+0

no, no lo era, pero funciona cuando lo soy, ¿por qué es eso? rails -v funciona fuera de la ruta raíz de la aplicación. – Blankman

+3

'carriles' es un programa disponible para todo el sistema. Lo usa para configurar su entorno usando 'carriles nuevos '. Para utilizar comandos de raíles específicos para su aplicación (como ejecutar la consola), debe indicarle dónde trabajar, es decir. corriendo dentro de la raíz del proyecto. – eli

+0

También asegúrese de estar utilizando la misma versión de ruby ​​que usa el proyecto. – bradleygriffith

1

¿Está en el directorio de la aplicación rails 3?

¿Tiene instaladas múltiples versiones de rieles?

intente comprobar 'qué rieles', y asegúrese de que se trata de un ejecutable de rieles 3 que está ejecutando - ese uso se parece a los rieles 2.x.

+0

que rails =>/usr/bin/rails – Blankman

+0

rails -v => Rails 3.0.0 – Blankman

3

En Rails 2.3.x, el comando es script/console dentro de un directorio de aplicación de Rails dado para iniciar una consola de Ruby con el entorno de Rails predeterminado cargado en la memoria. No estoy seguro si Rails 3.0 es el mismo o no.

1

está ejecutando el comando correcto (rails console), pero es muy probable que no esté en el directorio de trabajo para esta aplicación. Cambie el directorio a la raíz de su aplicación de rieles (debajo de la cual encontrará /scripts, /app, etc.), y el comando debería funcionar como desee.

Nota: El uso de script/console o ruby script/console es para versiones anteriores de Rails.

2

Es necesario en el directorio del proyecto y el comando rails console por ejemplo:

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

Me acabo de encontrar con este mismo problema al actualizar una aplicación Rails 2 a Rails 3. Cuando se ejecuta rails console (o realmente rails [anything]) en el directorio raíz de mi aplicación, vería la salida de uso general rails new (como Blankman referenciado en la pregunta original).

El problema era que no había eliminado los viejos scripts de Rails 2 del directorio script. Después de eliminar todo en el directorio script y agregar el archivo script/rails que se genera automáticamente en cada aplicación nueva de Rails 3, el comando rails ahora funciona como se esperaba.

Para obtener los últimos contenidos del archivo script/rails, genere una nueva aplicación y copie el archivo en su aplicación Rails 2 que está actualizando. A partir de los carriles 3.0.7, esto es lo que hay en este archivo:

#!/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

Gracias hombre. Me encontré con este problema y se arregló la copia sobre un archivo script/rails. – Mario

+0

Sí, esto funciona! – AnkitG

7

he tenido este problema cuando actualicé los carriles 2 a 3 y era capaz de solucionarlo haciendo lo que dijo Nick, entonces también se ejecuta bundle exec rails console production.

32

En el caso de cualquier otra persona golpea esto, mis síntomas fueron:

que había desplegado mi solicitud con Capistrano 3

I cd'd en mi directorio de la aplicación, y los carriles de la consola no funcionaba

Resultó que había incluido la carpeta bin como un directorio con el enlace simbólico en mi desplegar la tapa, de la siguiente manera:

conjunto: linked_dirs,% w {log/PIDS tmp/cache/tmp tomas vendedor/paquete/tmp sistema público }

... y mi directorio bin en 'compartido' estaba vacío.

dos correcciones:

  • Asegúrese de que su directorio bin vinculada tiene todos los componentes (echar un vistazo dentro de su # {RAILS_ROOT}/bin para lo que es esto, O
  • hacer bin enlace simbólico no

entonces me re-desplegado y funciona.

+0

Me acabas de ahorrar muchas horas de frustración. ¡Esto fue exactamente! – user2490003

+1

¡Muchas gracias! Instrucciones claras y de trabajo. Fue extremadamente desconcertante para mí ya que 'bin' está realmente vacío y yo estaba como" ¿por qué eso cambiaría algo? " - pero lo hizo. ¡Gracias! – dimitarvp

+0

¡Me salvas! ¡Héroe! – Howard

0

En mi caso bin/rails c trabajaban fuera de mi carpeta raíz aplicación