2010-09-19 3 views
28

Je dactylographiées ceci:taper 'rails console' ne démarre pas?

>rails console 

et obtenu ceci:

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

que je suis sur le tutoriel rails et se sont retrouvés coincés à ce sujet.

J'ai des rails 3.0 installés.

+0

avez-vous modifié votre fichier bashrc (ou bash_profile) de quelque façon que ce soit? J'ai déjà eu ce même problème après avoir modifié le mien pour afficher le répertoire courant dans mon invite de commande – stephenmurdoch

Répondre

33

Êtes-vous dans le chemin racine de votre application lorsque vous tapez $ rails console?

Astuce: $ rails c est un raccourci pour $ rails console

+0

non je n'étais pas, mais ça marche quand je suis, pourquoi est-ce? rails -v fonctionne en dehors du chemin racine de l'application. – Blankman

+3

'rails' est un programme disponible à l'échelle du système. Vous l'utilisez pour configurer votre environnement en utilisant 'rails new '. Afin d'utiliser des commandes de rails spécifiques à votre application (comme l'exécution de la console), vous devez lui dire où travailler - ie. courir à l'intérieur de la racine du projet. – eli

+0

Assurez-vous également que vous utilisez la même version de ruby ​​que le projet utilise. – bradleygriffith

1

êtes-vous dans un rail 3 répertoire app?

avez-vous installé plusieurs versions de rails? Essayez de vérifier 'quels rails', et assurez-vous que c'est un exécutable rails 3 que vous utilisez - cette utilisation ressemble à rails 2.x.

+0

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

+0

rails -v => Rails 3.0.0 – Blankman

3

Dans Rails 2.3.x, la commande est script/console dans un répertoire d'application Rails donné pour démarrer une console Ruby avec l'environnement Rails par défaut chargé en mémoire. Vous ne savez pas si Rails 3.0 est identique ou non.

1

Vous exécutez la commande correcte (rails console), mais vous n'êtes pas le plus probable dans le répertoire de travail pour cette application. Changez le répertoire à la racine de votre application rails (sous laquelle vous trouverez /scripts, /app, etc.), et la commande devrait fonctionner comme vous le souhaitez.

Remarque: L'utilisation de script/console ou ruby script/console est pour les versions antérieures de Rails.

2

Vous devez dans le répertoire du projet et de commande rails console par exemple:

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

Je viens de rencontrer dans ce même problème tout en améliorant une application Rails 2 à Rails 3. Lors de l'exécution rails console (ou vraiment rails [anything]) dans répertoire racine de mon application, je verrais général rails new sortie d'utilisation (comme Blankman référencé dans la question d'origine).

Le problème était que je n'avais pas supprimé les anciens scripts Rails 2 du répertoire script. Après avoir supprimé tous les éléments du répertoire script et ajouté le fichier script/rails généré automatiquement dans chaque nouvelle application Rails 3, la commande rails fonctionne désormais comme prévu.

Pour obtenir le contenu le plus récent du fichier script/rails, générez une nouvelle application et copiez le fichier dans votre application Rails 2 que vous mettez à niveau. Comme Rails 3.0.7, voici ce qui est dans ce fichier:

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

Merci l'homme. J'ai rencontré ce problème et la copie sur un fichier script/rails l'a corrigé. – Mario

+0

Oui, cela fonctionne! – AnkitG

7

J'ai eu ce problème quand je mis à jour Rails 2 à 3 et a été en mesure de le réparer en faisant ce que dit Nick, puis en cours d'exécution aussi bundle exec rails console production.

32

Au cas où quelqu'un d'autre frappe, mes symptômes étaient les suivants:

J'avais ma demande avec déployé Capistrano 3

Je cd'd dans mon répertoire d'applications et rails console n'a pas fonctionné

se sont avérés j'inclus le dossier bin comme un répertoire des liens symboliques dans mon deploy cap, comme suit:

set: linked_dirs,% p {log tmp/PIDS tmp/cache tmp/prises fournisseur/bundle public/système }

... et mon répertoire bin dans 'shared' était vide.

Deux corrections:

  • Assurez-vous que le répertoire bin lié a le contenu correct (jetez un oeil à l'intérieur de votre # {RAILS_ROOT}/bin pour ce que cela est, OU
  • Do bin pas symlink

je puis redéployé et il fonctionne.

+0

Vous venez de me sauver de nombreuses heures de frustration. C'était exactement ça! – user2490003

+1

Merci beaucoup! Instructions claires et de travail. C'était extrêmement déconcertant pour moi puisque bin est vide et je me suis dit "pourquoi cela changerait quelque chose?" - mais ça l'a fait. Je vous remercie! – dimitarvp

+0

Vous me sauvez! Héros! – Howard

0

Dans mon cas bin/rails c travaillé sur mon application dossier racine