Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 已安装Rails,但Rails命令显示它';它没有安装_Ruby On Rails_Ruby_Rubygems_Gem - Fatal编程技术网

Ruby on rails 已安装Rails,但Rails命令显示它';它没有安装

Ruby on rails 已安装Rails,但Rails命令显示它';它没有安装,ruby-on-rails,ruby,rubygems,gem,Ruby On Rails,Ruby,Rubygems,Gem,我正在使用Ubuntu 9.10 Karmic Koala和Ruby 1.9.1 我使用sudogem安装Rails安装了Rails,它为我安装了所有库 当我在终端中键入rails时,它会显示 “rails”程序当前未安装。您可以通过键入以下内容进行安装: sudo-apt-get-install-rails rails:未找到命令 我可以找到rake,它在rake1.9.1下,但是Rails不见了,有人能给我指出正确的方向吗 编辑:ruby的路径不是问题,问题是rails在哪里?我如何执行它?

我正在使用Ubuntu 9.10 Karmic Koala和Ruby 1.9.1

我使用
sudogem安装Rails
安装了Rails,它为我安装了所有库

当我在终端中键入
rails
时,它会显示

“rails”程序当前未安装。您可以通过键入以下内容进行安装: sudo-apt-get-install-rails rails:未找到命令

我可以找到rake,它在rake1.9.1下,但是Rails不见了,有人能给我指出正确的方向吗


编辑:ruby的路径不是问题,问题是rails在哪里?我如何执行它?rails根本不工作,可执行文件在哪里?

您可能希望在bashrc文件中包含Ruby/Jruby文件夹的路径。这将确保您能够在任何地方运行它。
不要忘记重新启动终端或“source.bashrc”以在终端中重新加载变量。

正如其他人所说,这很可能是bashrc/bash_配置文件中的路径变量问题


您可以通过键入
echo$PATH

gem
获取当前路径变量,它应该将rails可执行脚本放置在与ruby相同的位置。我会查看一下,确保权限设置正确,并且是可执行的。

刚刚遇到同样的问题,请在.bashrc中添加以下内容

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

如果在安装rails后立即运行rails命令,则需要重新启动终端,然后才能识别命令。

我认为这不是解决此问题的正确方法。但我所做的是, 我已经在我的可执行目录中创建了一个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
命令获取可执行路径我在.bashrc文件中添加了以下几行代码,它成功了

[[-s“$HOME/.rvm/scripts/rvm”]&&source“$HOME/.rvm/scripts/rvm”#将rvm作为函数加载到shell会话中


PATH=“${PATH}:${HOME}/.rvm/gems/ruby-1.9.3-p327/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\u 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

而且,它应该可以工作。

如果您正在运行rbenv,则需要运行rbenv-rehash-go-get-access-to-rails-api命令

一个可能的解决方案是不维护两个不同的配置文件
.bash\u profile
.bashrc

$ source ~/.bashrc
在这篇关于
.bash\u profile
之间区别的优秀文章中,建议您从
.bash\u profile
文件中获取
.bashrc
,然后将路径和公共设置放入
.bashrc

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

将以下行添加到
.bash\u profile

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


如果您使用的是
rbenv
不要忘记添加

eval "$(rbenv init -)"
进入
.bash\u配置文件
或其他启动脚本。
还需要运行
rbenv-rehash

问题不在于ruby,ruby工作得很好。但是当运行rails时,它会说它没有安装,尽管如果我使用gem list,它会正确地向我显示rails 2.3.5,我查找了ruby安装的bin文件夹。它有一个“rails”文件。如果我将其重命名为其他名称并尝试运行rails;它不搭建脚手架或创建项目。相反,它说没有安装rails,所以sudo apt get install安装rails。但如果我把它重新命名为rails;然后它开始工作。所以我非常确定,只要rails安装正确,并且您将它放在bin文件夹中,它就应该运行。也许我还没有把它安装成gem加上我正在使用JRuby。把路径放在那里不是问题,看起来它根本没有安装rails,我如何检查它是否真的安装了?它的可执行文件是什么?它在哪里?运行
gem环境
,你会发现
可执行目录
。你太棒了!谢谢你,蒂克!这正是我需要的。事实证明,通过gem安装它不会创建符号链接。我创建了它并将其指向可执行目录。工作great@rgoytacaz如何创建符号链接?@Hlung Use
sudo ln-s/usr/local/bin/rails/usr/bin/rails
或相应地更改它。PATH=“${PATH}:/var/lib/gems/1.8/bin/”是否更新了PATH变量以包含rails安装的bin目录?否。。我没有,我应该指向哪里?我找不到它的可执行文件。locate rails返回的只是文档链接。如果我们只是克隆了应用程序,捆绑包仍需安装,则有时可能会遇到重复,因此只需从应用程序根目录运行$bundle即可解决此问题。发布多个问题的复制粘贴样板/逐字回答时要小心,这些问题往往会被标记为“垃圾邮件”由社区提供。如果你这样做,那么通常意味着问题是重复的,所以将它们标记为:标记。我会更加小心的。这个答案可能会对那些遇到这两篇文章的人(比如我)有所帮助,这就是我为什么要分享它的原因。