wake-up-neo.com

Installierte Rails, aber der Rails-Befehl gibt an, dass es nicht installiert ist

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?

27
rgoytacaz

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.

20
TK.

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.

16
Kyle Clegg

Hatte gerade das gleiche Problem nur in Ihrer .bashrc

PATH="${PATH}:/var/lib/gems/1.8/bin/"
11
JaapH

Angenommen,Ruby-2.0.0-p247ist 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.

3
prayagupd

Wenn Sie rbenv ausführen, müssen Sie rbenv rehash ausführen. Greifen Sie auf den Befehl Rails-api zu. 

2
HelloWorld

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.

1
Michael Wales

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 

1
Anand Soni

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 /"

1
samaitra

Wenn Sie rbenv verwenden, vergessen Sie nicht add 

eval "$(rbenv init -)"

in Ihren .bash_profile oder andere Startskripte . Lauf rbenv rehash ist ebenfalls erforderlich.

1
William Hu

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

0
osehgol