Ich verwende Ubuntu 9.10 Karmic Koala und Ruby 1.9.1.
Ich habe Rails mit Sudo gem install Rails
installiert, wodurch alle Bibliotheken für mich installiert wurden.
Wenn ich Rails
in das Terminal eingebe, heißt es.
Das Programm 'Rails' ist derzeit nicht installiert. Sie können es installieren, indem Sie Folgendes eingeben: Sudo apt-get install Rails Schienen: Befehl nicht gefunden
Ich kann Rake finden, was unter Rake1.9.1 steht, aber Rails ist nirgends zu finden. Kann mir jemand die richtige Richtung zeigen?
Edit: Pfad zu Ruby ist nicht das Problem, wo liegen die Schienen? Wie führe ich es aus? Rails funktioniert einfach nicht, wo lebt das erwartbare Leben?
Wie andere sagen, ist dies möglicherweise ein PATH-Variablenproblem in Ihrer Datei bashrc/bash_profile.
Sie können lernen, wie man PFAD ändert. .
Sie können die aktuelle PATH-Variable abrufen, indem Sie echo $PATH
eingeben.
Wenn Sie nach der Installation von Rails einen Rails-Befehl sofort ausführen, müssen Sie Ihr Terminal neu starten, bevor Ihre Befehle erkannt werden.
Hatte gerade das gleiche Problem nur in Ihrer .bashrc
PATH="${PATH}:/var/lib/gems/1.8/bin/"
Angenommen,Ruby-2.0.0-p247
ist installiert, befindet sich Rails
an der folgenden Stelle.
[email protected]$ 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
sollte bereits folgende Zeile enthalten, wenn nicht add.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
[2] Füge folgende Zeile am Ende von .bashrc
hinzu.
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
PATH="${PATH}:${HOME}/.rvm/gems/Ruby-2.0.0-p247/bin/"
[3] ~/.bashrc
neu laden
$ source ~/.bashrc
Und es sollte funktionieren.
Wenn Sie rbenv ausführen, müssen Sie rbenv rehash ausführen. Greifen Sie auf den Befehl Rails-api zu.
gem
sollte das ausführbare Rails-Skript an derselben Stelle wie Rubys platziert haben. Ich schaue dort rein und vergewissere mich, dass die Berechtigungen richtig gesetzt sind und ausführbar sind.
Ich denke, das ist kein richtiger Weg, um dieses Problem zu lösen. Was ich jedoch getan habe, ist Ich habe eine Rails.rb-Datei in meinem ausführbaren Verzeichnis erstellt, weil beim Öffnen der Verzeichnisdatei diese nicht vorhanden war und der folgende Inhalt eingefügt wurde.
#!/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)
dann versuche ich, Rails s
in meinem Projekt und seinen Arbeiten auszuführen.
Stellen Sie jedoch vorher sicher, dass sich das ausführbare Verzeichnis in Ihrem Pfad befindet, wie ich es bereits auf meinem Computer habe: /home/anand/.rvm/gems/Ruby-1.9.3-p286/bin:/home/anand/.rvm/gems/[email protected]/bin:/home/anand/.rvm/rubies/Ruby-1.9.3-p286/bin:/home/anand/.rvm/bin
Wie in der TK beschrieben, können Sie den ausführbaren Pfad mit dem Befehl gem environment
abrufen
Ich habe der .bashrc-Datei die folgenden Zeilen hinzugefügt, und es hat funktioniert.
[[-s "$ HOME/.rvm/scripts/rvm"]] && source "$ HOME/.rvm/scripts/rvm" # RVM in eine Shell-Sitzung laden als Funktion
PATH = "$ {PATH}: $ {HOME} /. Rvm/gems/Ruby-1.9.3-p327/bin /"
Wenn Sie rbenv
verwenden, vergessen Sie nicht add
eval "$(rbenv init -)"
in Ihren .bash_profile
oder andere Startskripte . Lauf rbenv rehash
ist ebenfalls erforderlich.
Eine mögliche Lösung besteht darin, nicht zwei verschiedene Konfigurationsdateien .bash_profile
und .bashrc
zu verwalten.
Es wird in diesem hervorragenden Beitrag zum Unterschied zwischen .bash_profile
und .bashrc
empfohlen, .bashrc
aus Ihrer .bash_profile
-Datei zu beziehen und PATH und allgemeine Einstellungen in .bashrc
zu setzen.
Zitieren,
füge die folgenden Zeilen zu .bash_profile
hinzu:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
zitat beenden