Как говорят другие, это вполне может быть проблема с переменной PATH в вашем файле bashrc/bash_profile.
Вы можете узнать, как изменить PATH..
Вы можете получить текущую переменную PATH, набрав echo $PATH
Если вы запускаете команду rails сразу после установки rails, вам нужно будет перезагрузить терминал, прежде чем ваши команды будут распознаны.
Только что та же проблема, просто добавьте следующее в ваш .bashrc
PATH="${PATH}:/var/lib/gems/1.8/bin/"
Предполагая, что 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
И, это должно работать.
Я думаю, что это не правильный способ решить эту проблему. Но что я сделал, так это то, что я создал файл 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
gem
должен был поместить исполняемый скрипт rails в то же место, что и ruby. Я бы заглянул туда и удостоверился, что права доступа установлены правильно и они исполняемы.
Если вы используете rbenv
, не забудьте добавить
eval "$(rbenv init -)"
в ваши .bash_profile
или другие сценарии запуска. прогон rbenv rehash
также необходим.
Вы можете включить путь к папке Ruby / Jruby в ваш файл bashrc. Это гарантирует, что вы сможете запускать его откуда угодно. Не забудьте перезапустить терминал или "исходный .bashrc", чтобы перезагрузить переменные в терминалах.