J'utilise Ubuntu 9.10 Karmic Koala et Ruby 1.9.1.
J'ai installé Rails en utilisant Sudo gem install Rails
, qui a installé toutes les bibliothèques pour moi.
Quand je tape Rails
dans le terminal, il est écrit.
Le programme 'Rails' n'est actuellement pas installé. Vous pouvez l'installer en tapant: Sudo apt-get install Rails Rails: commande introuvable
Je peux trouver rake, qui se trouve sous rake1.9.1, mais Rails est introuvable, quelqu'un peut-il m'orienter dans la bonne direction?
Edit: le chemin vers Ruby n'est pas le problème, mais où sont les rails? comment puis-je l'exécuter? Les rails ne fonctionnent tout simplement pas, où vit l'exectuable?
Comme d’autres le disent, cela peut très bien être un problème de variable PATH sur votre fichier bashrc/bash_profile.
Vous pouvez apprendre à changer PATH. .
Vous pouvez obtenir la variable PATH actuelle en tapant echo $PATH
Si vous exécutez une commande Rails Immédiatement après avoir installé Rails, vous devrez redémarrer votre terminal avant que vos commandes ne soient reconnues.
Juste le même problème vient de mettre le suivant dans votre .bashrc
PATH="${PATH}:/var/lib/gems/1.8/bin/"
En supposant queRuby-2.0.0-p247
est installé, Rails
est situé à l'emplacement suivant.
prayag@prayag$ ls -l ~/.rvm/gems/Ruby-2.0.0-p247/bin/
total 60
-rwxr-xr-x 1 prayag prayag 484 Oct 2 00:20 cap
-rwxr-xr-x 1 prayag prayag 487 Oct 2 00:20 capify
-rwxr-xr-x 1 prayag prayag 475 Oct 1 21:13 erubis
-rwxr-xr-x 1 prayag prayag 469 Oct 1 21:13 rackup
-rwxr-xr-x 1 prayag prayag 480 Oct 1 21:18 Rails
-rwxr-xr-x 1 prayag prayag 494 Oct 2 00:27 restclient
-rwxrwxr-x 1 prayag prayag 368 Oct 1 21:10 Ruby_executable_hooks
-rwxr-xr-x 1 prayag prayag 467 Oct 2 00:27 sass
-rwxr-xr-x 1 prayag prayag 475 Oct 2 00:27 sass-convert
-rwxr-xr-x 1 prayag prayag 467 Oct 2 00:27 scss
-rwxr-xr-x 1 prayag prayag 487 Oct 1 21:20 sprockets
-rwxr-xr-x 1 prayag prayag 483 Oct 2 00:29 stripe-console
-rwxr-xr-x 1 prayag prayag 467 Oct 1 21:17 thor
-rwxr-xr-x 1 prayag prayag 467 Oct 1 21:20 tilt
-rwxr-xr-x 1 prayag prayag 474 Oct 1 21:16 tt
[1] .bash_profile
devrait déjà contenir la ligne suivante, sinon ajouter.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
[2] Ajouter la ligne suivante à la fin de .bashrc
.
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
PATH="${PATH}:${HOME}/.rvm/gems/Ruby-2.0.0-p247/bin/"
[3] Recharger ~/.bashrc
$ source ~/.bashrc
Et ça devrait marcher.
Si vous exécutez rbenv, vous devrez exécuter rbenv rehash. Vous aurez accès à la commande Rails-api.
gem
aurait dû placer le script exécutable Rails au même endroit que Ruby's. Je regarderais à l'intérieur et m'assurerais que les permissions sont définies correctement et que c'est exécutable.
Je pense que ce n'est pas la bonne façon de résoudre ce problème. Mais ce que j’ai fait, c’est, J’ai créé un fichier Rails.rb dans mon répertoire exécutable car lors de l’ouverture de ce répertoire, ce fichier n’y figurait pas et le contenu suivant était mis à jour.
#!/usr/bin/env Ruby_noexec_wrapper
#
# This file was generated by RubyGems.
#
# The application 'railties' is installed as part of a gem, and
# this file is here to facilitate running it.
#
require 'rubygems'
version = ">= 0"
if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then
version = $1
ARGV.shift
end
gem 'railties', version
load Gem.bin_path('railties', 'Rails', version)
j'essaie ensuite de lancer Rails s
dans mon projet et ses travaux.
Mais avant cela, assurez-vous que le répertoire exécutable est dans votre chemin comme je l'ai déjà dans ma machine: /home/anand/.rvm/gems/Ruby-1.9.3-p286/bin:/home/anand/.rvm/gems/Ruby-1.9.3-p286@global/bin:/home/anand/.rvm/rubies/Ruby-1.9.3-p286/bin:/home/anand/.rvm/bin
Selon TK, vous pouvez obtenir le chemin de l'exécutable à l'aide de la commande gem environment
J'ai ajouté les lignes suivantes à mon fichier .bashrc et cela a fonctionné.
[[-s "$ HOME/.rvm/scripts/rvm"]] && source "$ HOME/.rvm/scripts/rvm" # Charge RVM dans une session Shell en tant que fonction
PATH = "$ {PATH}: $ {HOME} /. Rvm/gems/Ruby-1.9.3-p327/bin /"
Si vous utilisez rbenv
, n'oubliez pas d'ajouter
eval "$(rbenv init -)"
dans votre .bash_profile
ou d’autres scripts de démarrage . run rbenv rehash
est également nécessaire.
Une solution possible consiste à ne pas gérer deux fichiers de configuration différents, .bash_profile
et .bashrc
.
Il est suggéré dans cet excellent post que la différence entre .bash_profile
et .bashrc
consiste à source .bashrc
à partir de votre fichier .bash_profile
, puis à placer PATH et les paramètres communs dans .bashrc
.
Citant,
ajoutez les lignes suivantes à .bash_profile
:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
citation finale