我正在使用Ubuntu 9.10 Karmic Koala和Ruby 1.9.1。
我使用sudo gem install rails
安装了Rails,它为我安装了所有库。
当我在终端输入rails
时,它会说。
目前尚未安装“rails”程序。您可以输入以下命令安装它: sudo apt-get install rails rails:找不到命令
我可以找到rake,这是在rake1.9.1下,但Rails无处可寻,有人能指出我正确的方向吗?
编辑:ruby的路径不是问题,问题是哪里有rails?我该如何执行呢? rails只是不起作用,exectuable在哪里生活?
答案 0 :(得分:21)
正如其他人所说,这可能是你的bashrc / bash_profile文件中的PATH变量问题。
You can learn how to change PATH.
您可以通过键入echo $PATH
答案 1 :(得分:16)
如果您在安装rails后立即运行rails命令 ,则需要重新启动终端才能识别命令。
答案 2 :(得分:12)
刚刚遇到同样的问题,只需将以下内容放入.bashrc
即可PATH="${PATH}:/var/lib/gems/1.8/bin/"
答案 3 :(得分:3)
假设安装了 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
而且,它应该有效。
答案 4 :(得分:2)
如果您正在运行rbenv,则需要运行rbenv rehash,以获取对rails-api命令的访问权限。
答案 5 :(得分:1)
gem
应该将rails可执行脚本放在与ruby相同的位置。我会查看并确保权限设置正确且可执行。
答案 6 :(得分:1)
我认为这不是解决此问题的正确方法。但我所做的是, 我在我的可执行文件目录中创建了一个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
命令
答案 7 :(得分:1)
我将以下几行添加到我的.bashrc文件中并且有效。
[[-s“$ HOME / .rvm / scripts / rvm”]]&& source“$ HOME / .rvm / scripts / rvm”#将RVM加载到shell会话中作为函数
PATH = “$ {PATH}:$ {HOME} / RVM /宝石/红宝石1.9.3-P327 / bin中/”
答案 8 :(得分:1)
如果您使用的是rbenv
,请不要忘记添加
eval "$(rbenv init -)"
进入.bash_profile
或其他启动脚本。
1}}也需要运行。{/ p>
答案 9 :(得分:0)
可能的解决方案是不维护两个不同的配置文件.bash_profile
和.bashrc
在这篇优秀的帖子中建议.bash_profile
和.bashrc
之间的区别是从.bashrc
文件中获取.bash_profile
,然后将PATH和常见文件放在一起.bashrc
中的设置。
引用,
将以下行添加到.bash_profile
:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
结束语
答案 10 :(得分:-1)
您可能希望在bashrc文件中包含Ruby / Jruby文件夹的路径。这将确保您能够从任何地方运行它。 不要忘记重新启动终端或“source .bashrc”来重新加载终端中的变量。