2010-06-21 6 views
3

J'utilise Ubuntu 10.04. Dans le terminal, quand je vais à mon application et le type (sans utiliser le « rubis » en face):Ruby on Rails et Ubuntu: en tapant simplement "script/generate ..." au lieu de "script ruby ​​/ generate"

script/generate controller recipes 

Je reçois un « Permission refusée » erreur. Quand je l'utilise cependant:

ruby script/generate controller recipes 

tout fonctionne comme prévu. Y a-t-il quelque chose que je dois faire à Ubuntu pour rendre le "ruby" pré-ajouté inutile quand j'essaye de générer des contrôleurs (c'est-à-dire juste utiliser "script/générer des recettes de contrôleur")?

+0

bizarre? à quoi ressemblent les autorisations lorsque vous lancez "ls -l script /" – house9

+0

remerciements! C'était un problème d'exécution. Merci à tout le monde pour votre aide précieuse :) – sjsc

Répondre

8

chmod 755 script/generate

+3

Pour clarifier pourquoi cela fonctionne: L'autorisation est refusée lorsque vous essayez d'exécuter script/générer parce que l'utilisateur n'a pas l'autorisation d'exécution définie sur le fichier. L'exécution de 'chmod 755 script/generate' active l'autorisation d'exécution de l'utilisateur sur le fichier. Dans le cas de 'ruby script/generate ...', il ne doit y avoir que l'autorisation de lecture, car le fichier est analysé au lieu d'être exécuté. –

+0

aucune idée pourquoi le problème se produit en premier lieu? Je ne peux que deviner que sjsc installé rails à partir d'une version locale de la gemme, ou à partir d'une clé USB – stephenmurdoch

2

wow, c'est étrange,

Félicitations pour passer à linux.

Comment avez-vous installé Ruby? L'avez-vous fait depuis le gestionnaire de paquets synaptique? Avez-vous exécuté sudo aptitude installer ruby ​​ou quelque chose comme ça?

tout ce que vous avez fait, vous pourriez être mieux installer RubyVersionManager (RVM) - il est vraiment facile - il y a une Railscast sur la façon dont cela fonctionne ici: http://railscasts.com/episodes/200-rails-3-beta-and-rvm

Je n'ai jamais eu ou entendu parler du problème que vous avez il a obtenu

+1

Merci pour le conseil stephen! J'ai peut-être manqué quelques étapes. Merci beaucoup. – sjsc

+0

aucun problème, il semble que les autres réponses expliquent pourquoi cela se produit, c'est-à-dire un manque d'autorisations sur la commande de script. J'espère que vous n'allez pas avoir trop de mal à installer RVM, si vous décidez d'aller dans ce sens - je trouve que cela me rend beaucoup plus productif et je fais aussi beaucoup d'autres développeurs * nix ruby. Je pense qu'il y a quelque chose de similaire sur les fenêtres appelé Pik. Mais vous n'en aurez plus besoin maintenant que vous êtes sur Ubuntu. Bonne chance – stephenmurdoch

4

type

ls -la 

dans le dossier de script pour afficher les autorisations du script généré.

Il n'a probablement pas l'autorisation d'exécution (x).

Je recommande de réinstaller les rails.

+0

merci robertokl! – sjsc