已安装的导轨,但rails命令说没有安装

问题描述:

我使用Ubuntu 9.10 Karmic Koala和Ruby 1.9.1。已安装的导轨,但rails命令说没有安装

我使用sudo gem install rails安装了Rails,它为我安装了所有库。

当我在终端键入rails它说。

程序'rails'目前未安装。您可以通过键入安装: 命令和apt-get安装导轨 导轨:找不到命令

我能找到耙,这是下rake1.9.1,但Rails是无处可寻,可有人点我在正确的方向?

编辑:红宝石路径不是问题,问题是轨道在哪里?我该如何执行它?铁轨不起作用,可执行的生活在哪里?

+0

您是否更新PATH变量以包含rails安装的bin目录? – MarkPowell 2009-12-23 17:03:19

+0

不..我没有,我应该在哪里指向?我找不到它的可执行文件。找到rails只返回文档的链接。 – rgoytacaz 2009-12-23 17:35:57

+0

可能重复的[Rails告诉我,它目前没有安装](http://stackoverflow.com/questions/7788946/rails-keeps-telling-me-that-its-not-currently-installed) – 2012-10-31 17:32:40

正如其他人所说,这很可能是您的bashrc/bash_profile文件中的PATH变量问题。

You can learn how to change PATH.

您可以通过键入echo $PATH

+0

它不是一个放在那里的路径的问题,它似乎轨道它根本没有安装,我该如何检查它是否真的安装?最新的可执行文件?它住在哪里? – rgoytacaz 2009-12-23 17:48:26

+18

运行'gem环境',你会发现'可执行目录'。 – 2009-12-23 18:56:34

+4

你是伟大的!感谢TK!那正是我所需要的。 事实证明,通过gem安装它并不会创建符号链接。我创建它并将其指向可执行目录。很棒的工作 – rgoytacaz 2009-12-23 19:27:58

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

+0

问题不是与红宝石,红宝石工作很好。但是,当运行轨说,它没有安装,但如果我做的宝石列表,它会正确地向我展示,轨2.3.5 – rgoytacaz 2009-12-23 17:37:15

+0

我抬起了我的红宝石安装的bin文件夹。它有一个“rails”文件。如果我将其重命名为其他任何内容并尝试运行rails;它不脚手架或创建项目..斯蒂尔说,没有安装轨道做sudo apt-get install来安装轨道。 但是,如果我将它重新命名为导轨;那么它开始工作。所以我非常肯定,只要轨道安装正确,并且您在bin文件夹中它应该运行。 也许我还没有安装它作为一个宝石,我正在使用JRuby。 – Priyank 2009-12-23 18:37:35

gem获得当前的PATH变量应该放在铁轨在同一位置红宝石的可执行脚本。我会看看那里,并确保权限设置正确,它是可执行的。

刚刚有同样的问题只是把下面的输入您的.bashrc

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

PATH =“$ {PATH}:/ var/lib/gems/1.8/bin /” – 2011-09-02 11:11:02

如果你正在运行的导轨安装护栏后,立即命令,你需要你的命令之前重新启动您的终端会被认可。

+1

在发布复制和粘贴样板/逐字回答多个问题时要小心,这些问题往往会被社区标记为“垃圾”。如果你这样做,那么它通常意味着问题是重复的,因此请将它们标记为:http://stackoverflow.com/a/13149543/419 – Kev 2012-10-31 00:29:54

+1

已标记。我会对此更加小心。答案可能对那些遇到任何帖子的人有帮助(像我一样),这就是我分享它的原因。 – 2012-10-31 00:48:57

+0

这个评论是相当低估,因此解决了它大声笑 – RDSpinz 2017-06-24 17:11:04

我认为这不是解决此问题的正确方法。但我所做的是, 我在我的可执行文件目录中创建了一个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/[email protected]/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 /脚本/ RVM “#加载RVM成shell会话作为功能

PATH =” $ {PATH}:$ {HOME}/RVM /宝石/红宝石1.9.3-P327 /斌/ “

假设ruby-2.0.0-p247安装,rails位于以下位置。

[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应该已经包含下面的行,如果不添加。

[[ -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以访问rails-api命令。

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

它建议在.bash_profile.bashrc之间的区别这个优秀的帖子是从您的.bash_profile文件源.bashrc,然后把PATH和通用设置在.bashrc

报价,

以下行添加到.bash_profile

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

末报价

如果您正在使用rbenv不要忘了加

eval "$(rbenv init -)" 

成您的.bash_profile或其他启动脚本。 运行rbenv rehash也是需要的。