【问题标题】:Rails issue on starting up after successful installation成功安装后启动Rails问题
【发布时间】:2014-01-02 17:32:55
【问题描述】:

我已经通过VM(RedHat Linux)在我的2台台式机上安装了rails,安装后没有问题,rails运行良好。 这次当我尝试在我的 Cent-OS 服务器中安装时,遵循相同的过程,但安装后,它无法正常工作。

**rails -v** 
**rails s**

上面的命令抛出 -bash: rails: command not found 。浏览了几乎所有关于此问题的类似帖子,我发现 .bashrc 或 .bash_profile 中的 $PATH 似乎是最常见的问题,并且许多人已经固定在制作 PATH 上。我尝试了所有这些,但仍然无法解决我的问题。

这里有任何 Rails 专家可以帮助我吗?需要了解是什么造成了我的问题。

sh-4.1$ ~]# gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.2.0
  - RUBY VERSION: 1.9.3 (2013-11-22 patchlevel 484) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-1.9.3-p484@rails_4
  - RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-1.9.3-p484/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-1.9.3-p484@rails_4/bin
  - SPEC CACHE DIRECTORY: /root/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/local/rvm/gems/ruby-1.9.3-p484@rails_4
     - /usr/local/rvm/gems/ruby-1.9.3-p484@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--no-ri --no-rdoc --bindir /app/interpreters/ruby/1.9.3/bin/"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/rvm/gems/ruby-1.9.3-p484@rails_4/bin
     - /usr/local/rvm/gems/ruby-1.9.3-p484@global/bin
     - /usr/local/rvm/rubies/ruby-1.9.3-p484/bin
     - /usr/local/rvm/bin
     - /opt/res/ruby/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /sbin
     - /bin
     - /usr/sbin
     - /usr/bin
     - /root/bin
sh-4.1$ ~]# which ruby
/usr/local/rvm/rubies/ruby-1.9.3-p484/bin/ruby
sh-4.1$ ~]# echo $PATH
/usr/local/rvm/gems/ruby-1.9.3-p484@rails_4/bin:/usr/local/rvm/gems/ruby-1.9.3-p484@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p484/bin:/usr/local/rvm/bin:/opt/res/ruby/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
sh-4.1$ ~]# cat .bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM function
sh-4.1$ ~]

    [sh-4.1$ ~]# pwd
/usr/local/rvm/gems/ruby-1.9.3-p484@rails_4/bin
sh-4.1$ ~]# ls
ruby_executable_hooks
[sh-4.1$ ~]# pwd
/usr/local/rvm/gems/ruby-1.9.3-p484@rails_4/gems
[sh-4.1$ ~]# ls
actionmailer-4.0.2  activerecord-deprecated_finders-1.0.3  builder-3.1.4  mail-2.5.4              polyglot-0.3.3   railties-4.0.2         thread_safe-0.1.3
actionpack-4.0.2    activesupport-4.0.2                    erubis-2.7.0   mime-types-1.25.1  rack-1.5.2       sprockets-2.10.1       tilt-1.4.1
activemodel-4.0.2   arel-4.0.1                             hike-1.2.3     minitest-4.7.5     rack-test-0.6.2  sprockets-rails-2.0.1  treetop-1.4.15
activerecord-4.0.2  atomic-1.1.14                          i18n-0.6.9     multi_json-1.8.2   rails-4.0.2      thor-0.18.1            tzinfo-0.3.38
[sh-4.1$ ~]# 


 [sh-4.1$ ~]# hash -r
 [sh-4.1$ ~]# echo $GEM_PATH
/usr/local/rvm/gems/ruby-1.9.3-p484:/usr/local/rvm/gems/ruby-1.9.3-p484@global
[sh-4.1$ ~]# echo $PATH
/usr/local/rvm/gems/ruby-1.9.3-p484/bin:/usr/local/rvm/gems/ruby-1.9.3-p484@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p484/bin:/usr/local/rvm/bin:/opt/res/ruby/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[sh-4.1$ ~]#

【问题讨论】:

  • 我曾经遇到过这个问题。当我放弃暂停时退出,当我重新登录时,它开始工作 - 仍然不明白为什么你 =]

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 rvm


【解决方案1】:

我在薄荷肉桂上使用 ruby​​ 2.1.1p76 和 rails 4.0.4 时遇到了同样的问题。

安装后它第一次工作,但是当我在注销后尝试使用 rails 命令时。它说没有安装rails。 假设您安装了 rvm、ruby 和 rails,请执行

rvm use ruby --default

如果它给出关于 ruby​​ 使用的错误 .. 做

/bin/bash --login

再试一次

rvm use ruby --default

现在当你输入 rails 时,它会起作用

【讨论】:

    【解决方案2】:

    运行:

    rvm use 1.9.3-p484@rails_4
    gem install rails
    rails -v
    

    【讨论】:

    • 谢谢。但这不起作用,我已经这样做了。再次尝试但仍然无法正常工作。我怀疑导轨安装正确与否。是否有其他方法可以确认 rails 文件已正确安装?我还检查了 ruby​​-1.9.3-p484@rails_4 下的 gems 和 bin 目录,gems 目录有所有的 pkg,但是在 bin 下我不知道如何确认 rails 安装正确。 (在上述问题中添加了 bin 和 gem dir 文件)
    • 运行 rvm use 1.9.3-p484@rails_4 并读取所有输出,它应该会告诉您设置是否有任何问题
    • 我给rvm use 1.9.3-p484@rails_4后,它显示Using /usr/local/rvm/gems/ruby-1.9.3-p484 with gemset rails_4。你的意思是输出和其他东西一样吗?我还需要知道是否有任何不会使 rails 运行的 pkg 依赖项?非常感谢@mpapis 帮助我!!
    • hash -r 有帮助吗?运行并添加到您的问题:echo $GEM_PATH; echo $PATH
    • 在问题中添加了 GEM_PATH 和 PATH。 hash -r 只是运行,没有输出。
    【解决方案3】:

    ruby -v 是否显示任何特定的版本号?如果是,则转到您的 Rails 应用程序的根目录并执行gem install rails

    如果ruby -v 没有显示任何特定版本,则执行rvm install 1.9.3(您也可以使用2.0.0 或任何其他旧版本来代替1.9.3)。 然后在安装完成后执行rvm use 1.9.3 --default

    注意:不要使用sudo apt-get install rails,只要gem就够了。

    【讨论】:

    • 非常感谢您的意见。我通过从头开始重新安装解决了这个问题,并且有效:)
    • 很高兴知道它对您有用。不要忘记勾选您认为正确的答案之一,以便人们知道这篇文章已经结束。
    【解决方案4】:

    最后我解决了这个问题。正如我所想的那样,安装中有一些东西搞砸了。我在 gem/bin 目录下没有找到 rails 可执行文件。

    以前我的 gems/bin 只有 ruby_executable_hooks ,因为没有像 rails 这样的可执行文件(我真的不知道这是否真的有问题)但我想从头开始重新安装 rvm & rails。

    RVM 重新安装:

    rvm remove ... # take the output of rvm list and do rvm remove for each item in the list
    rvm cleanup all
    rvm install 2.0.0
    

    更新的 gem 版本:

    gem update --system 2.1.9 
    

    安装导轨:

    gem install rails --version 4.0.2
    rails -v
    

    所以这是我在 gems/bin 目录前后发现的 *在 * 之前(即使 PATH 和所有其他东西都很完美,rails 也无法正常工作)

    [sh-4.1$ ~]# pwd
    /usr/local/rvm/gems/ruby-2.0.0-p353/bin
    [sh-4.1$ ~]# ls
    ruby_executable_hooks
    

    ** 重新安装后**

    [sh-4.1$ ~]# pwd
    /usr/local/rvm/gems/ruby-2.0.0-p353/bin
    [sh-4.1$ ~]# ls
    erubis  rackup  rails  ruby_executable_hooks  sprockets  thor  tilt  tt  update_rubygems
    

    【讨论】:

    • gem update --system 2.1.9 意味着您必须使用 ruby​​gems 2.1.9 您可以告诉 rvm 这样做:rvm install 2.0.0 --rubygems 2.1.9latest-2.1 ...无论如何您应该尝试使用 ruby​​gems @987654331 重现此问题@ 并在此处举报:github.com/rubygems/rubygems/issues
    • @mpapis :当然,会尝试这样做并在 github 中报告。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 2023-04-04
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    相关资源
    最近更新 更多