2009-12-23 10 views
25

Sto usando Ubuntu 9.10 Karmic Koala e Ruby 1.9.1.Rails installati ma il comando rails dice che non è installato

Ho installato Rails utilizzando sudo gem install rails, che ha installato tutte le librerie per me.

Quando si digita rails nel terminale indicato.

Il programma "rails" non è attualmente installato. È possibile installarlo digitando: sudo apt-get install rails rotaie: command not found

posso trovare rastrello, che è sotto rake1.9.1, ma Rails è introvabile, qualcuno mi può puntare nella giusta direzione?

Modifica: il percorso verso il rubino non è il problema, il problema è dove sono le guide? come lo eseguo? i binari non funzionano, dove vivono le vite?

+0

Hai aggiornato la variabile PATH per includere la directory bin dell'installazione delle guide? – MarkPowell

+0

no .. Non l'ho fatto, dove dovrei puntare? Non riesco a trovare il suo eseguibile locate rails restituisce solo collegamenti di documentazione. – rgoytacaz

+0

possibile duplicato di [Rails continua a dirmi che non è attualmente installato] (http://stackoverflow.com/questions/7788946/rails-keeps-telling-me-that-its-not-currently-installed) –

risposta

20

Come altri dicono, questo potrebbe essere un problema di variabile PATH sul file bashrc/bash_profile.

You can learn how to change PATH..

è possibile ottenere la variabile PATH corrente digitando echo $PATH

+0

non c'è un problema nel mettere il percorso lì, sembra che non sia installato su rotaie, come posso verificarne l'effettiva installazione? qual è il suo eseguibile? dove vive? – rgoytacaz

+18

Esegui 'gem environment' e troverai' DIRECTORY ESEGUIBILE'. –

+4

SEI GRANDE! GRAZIE TK! Questo è esattamente quello di cui avevo bisogno. Si scopre che l'installazione tramite gem non crea un collegamento simbolico. L'ho creato e lo indirizza alla directory eseguibile. ottimo lavoro – rgoytacaz

-1

È possibile includere il percorso della cartella Ruby/Jruby nel file bashrc. Ciò garantirebbe che tu sia in grado di eseguirlo da qualsiasi luogo. Non dimenticare di riavviare il terminale o "source .bashrc" per ricaricare le variabili nei terminali.

+0

Il problema non è con il rubino, il rubino funziona alla grande. Ma quando si eseguono le rotaie si dice che non è installato, anche se faccio lista gemma, mi mostrerà correttamente, binari 2.3.5 – rgoytacaz

+0

Ho cercato la cartella bin della mia installazione ruby. Ha un file "rotaie". Se lo rinominare in qualsiasi altra cosa e provare a eseguire le guide; non impalcatura o creare progetti ..instead dice che le rotaie non sono installate sudo apt-get install per installare i binari. Ma se rinominarlo di nuovo su binari; poi inizia a funzionare. Quindi sono abbastanza sicuro che finché i binari sono installati correttamente e li hai nella cartella bin dovrebbe essere eseguito. Forse non l'ho installato come gemma e sto usando JRuby. – Priyank

1

gem avrebbe dovuto porre le rotaie script eseguibile nella stessa posizione come Ruby. Guarderei lì e assicurarmi che le autorizzazioni siano impostate correttamente ed è eseguibile.

11

Proprio avuto lo stesso problema appena messo il seguente nel proprio .bashrc

PATH="${PATH}:/var/lib/gems/1.8/bin/" 
+2

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

14

Se si sta eseguendo un comando rotaie subito dopo l'installazione di binari, è necessario riavviare il terminale davanti ai vostri comandi essere riconosciuto.

+1

Prestare attenzione quando si inviano copia e incolla di risposte boilerplate/verbatim a più domande, che tendono ad essere contrassegnate come "spammy" dalla comunità. Se lo fai, in genere significa che le domande sono doppie, quindi contrassegnali come tali: http://stackoverflow.com/a/13149543/419 – Kev

+1

Segnalato. Sarò più attento a questo. La risposta potrebbe essere utile a coloro che incontrano entrambi i post (come me), motivo per cui l'ho condiviso. –

+0

questo commento è piuttosto sottovalutato perché lo ha risolto lol – RDSpinz

1

Penso che questo non sia il modo corretto per risolvere questo problema. Ma quello che ho fatto è, Ho creato un file rails.rb nella mia directory eseguibile perché quando ho aperto quel file di directory non c'era e ho inserito il seguente contenuto.

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

allora provo a fare funzionare rails s nel mio progetto e le sue opere ..

Ma prima che questo assicurarsi che directory eseguibile è nel tuo percorso come ho già nella mia macchina: /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

Come per TK ha detto che è possibile ottenere il percorso eseguibile utilizzando il comando gem environment

1

Ho aggiunto le seguenti righe al mio file .bashrc e ha funzionato.

[[-s "$ HOME/.rvm/scripts/rvm"]] & & origine "$ HOME /.RVM/scripts/rvm "# Load RVM in una sessione di shell in funzione

PATH =" $ {PATH}:. $ {HOME}/RVM/gemme/ruby-1.9.3-P327/bin/"

3

Supponendo ruby-2.0.0-p247 è installato, rails si trova a seguente posizione.

[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 dovrebbe essere già contenente seguente riga, se non aggiungere.

012.351.641,061 mila
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 

[2] Aggiungete la seguente riga alla fine del .bashrc.

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting 
PATH="${PATH}:${HOME}/.rvm/gems/ruby-2.0.0-p247/bin/" 

[3] Ricarica ~/.bashrc

$ source ~/.bashrc 

E, dovrebbe funzionare.

2

Se si esegue rbenv, è necessario eseguire rbenv rehash per accedere al comando rails-api.

0

Una possibile soluzione è quella di non mantenere due diversi file di configurazione .bash_profile e .bashrc

Si suggerisce in questo ottimo post sulla differenza tra .bash_profile e .bashrc è a fonte .bashrc dal file .bash_profile, poi mettere le impostazioni di PATH e comuni in .bashrc.

Citando,

aggiungere le seguenti righe per .bash_profile:

if [ -f ~/.bashrc ]; then source ~/.bashrc fi

fine citazione

1

Se si utilizza rbenv non dimenticare aggiungere

eval "$(rbenv init -)" 

in il tuo .bash_profile o altri script di avvio. È inoltre necessario eseguire run rbenv rehash.

Problemi correlati