Установленные Rails, но команда rails говорит, что она не установлена - PullRequest
28 голосов
/ 23 декабря 2009

Я использую Ubuntu 9.10 Karmic Koala и Ruby 1.9.1.

Я установил Rails, используя sudo gem install rails, который установил все библиотеки для меня.

Когда я набираю rails в терминале, он говорит.

Программа 'rails' в настоящее время не установлена. Вы можете установить его, набрав: sudo apt-get устанавливает рельсы рельсы: команда не найдена

Я могу найти грабли, которые находятся под rake1.9.1, но Rails нигде не найти, может кто-нибудь направить меня в правильном направлении?

Редактировать: путь к ruby ​​не проблема, проблема в том, где рельсы? как мне это выполнить? рельсы просто не работают, где живое существо?

Ответы [ 11 ]

21 голосов
/ 23 декабря 2009

Как говорят другие, это может быть проблема с переменной PATH в вашем файле bashrc / bash_profile.

Вы можете узнать, как изменить PATH. .

Вы можете получить текущую переменную PATH, набрав echo $PATH

16 голосов
/ 31 октября 2012

Если вы запускаете команду rails сразу после установки rails, вам нужно будет перезагрузить терминал, прежде чем ваши команды будут распознаны.

12 голосов
/ 26 сентября 2010

Только что возникла такая же проблема, просто добавьте в ваш .bashrc

следующее
PATH="${PATH}:/var/lib/gems/1.8/bin/"
3 голосов
/ 02 октября 2013

Предполагается, что ruby-2.0.0-p247 установлено, rails находится в следующем месте.

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 уже должен содержать следующую строку, если не добавить.

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

[2] Добавить следующую строку в конец .bashrc.

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

[3] Перезагрузка ~/.bashrc

$ source ~/.bashrc

И, это должно работать.

2 голосов
/ 19 августа 2014

Если вы работаете с rbenv, вам нужно запустить rbenv rehash и получить доступ к команде rails-api.

1 голос
/ 29 сентября 2016

Если вы используете rbenv, не забудьте добавить

eval "$(rbenv init -)"

в ваши .bash_profile или другие сценарии запуска. пробег rbenv rehash также необходим.

1 голос
/ 09 декабря 2012

Я добавил следующие строки в мой файл .bashrc, и он заработал.

[[-s "$ HOME / .rvm / scripts / rvm"]] && source "$ HOME / .rvm / scripts / rvm" # Загрузить RVM в сеанс оболочки как функцию

PATH = "$ {PATH}: $ {HOME} / RVM / драгоценные камни / рубиново-1.9.3-P327 / бен /."

1 голос
/ 03 декабря 2012

Я думаю, что это не правильный способ решить эту проблему. Но то, что я сделал, Я создал файл rails.rb в моем исполняемом каталоге, потому что когда я открывал этот файл каталога, его там не было, и помещал следующее содержимое.

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

тогда я пытаюсь запустить rails s в моем проекте и его работах.

Но перед этим убедитесь, что исполняемый каталог находится на вашем пути, как я уже на моей машине: /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

Согласно TK, вы можете получить путь к исполняемому файлу, используя команду gem environment

1 голос
/ 23 декабря 2009

gem должен был разместить исполняемый скрипт rails в том же месте, что и ruby. Я бы заглянул туда и удостоверился, что разрешения установлены правильно, и это исполняемый файл.

0 голосов
/ 12 декабря 2014

Возможное решение - не поддерживать два разных файла конфигурации .bash_profile и .bashrc

В этом отличном посте предлагается различие между .bash_profile и .bashrc для получения .bashrc из вашего .bash_profile файла, затем помещением PATH и общих настроек в .bashrc.

Цитирование,

добавить следующие строки в .bash_profile:

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

конец цитаты

...