卸载了旧版本的rails,现在不再具有可执行的rails

时间:2013-11-16 17:50:09

标签: ruby-on-rails ruby ruby-on-rails-4 bundler nitrousio

在Nitrous.IO工作,我的rails应用程序表现得很奇怪。所以我查了一下,我使用的是rails版本0.9.5而不是版本4.0.1!我决定做gem uninstall rails --version 0.9.5。一切都很好,除了它还删除了可执行的rails!我怎么得到这个?好像有版本4.0.1,但我无法运行rails命令。我应该卸载并重新安装rails吗?

更新 :尝试gem install rails即使我已经安装了rails 4.0.1:

action@creativebox-45198:~$ gem install rails                                                                                                                                      
Successfully installed rails-4.0.1                                                                                                                                                 
1 gem installed                                                                                                                                                                    
action@creativebox-45198:~$ rails -v                                                                                                                                               
-bash: rails: command not found

3 个答案:

答案 0 :(得分:1)

应该运行良好gem install rails

答案 1 :(得分:0)

如果您在命令行使用Bash或hash rails用于csh,请尝试rehash rails

有时shell会丢失文件所在的位置,并且(重新)hash会告诉shell解决它。

搜索hash + shell或使用man hash了解详情。

答案 2 :(得分:0)

此问题已通过Nitrous支持渠道解决。某种程度上文件/home/action/.rvm/gems/ruby-2.0.0-p247/bin/rails丢失了,gem install rails没有添加它。手动添加此文件以及以下内容解决了该问题。

#!/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
  str = ARGV.first
  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
  if str =~ /\A_(.*)_\z/
    version = $1
    ARGV.shift
  end
end

gem 'railties', version
load Gem.bin_path('railties', 'rails', version)