' rails c'不起作用,但'捆绑exec rails console'不

时间:2015-11-25 09:28:29

标签: ruby-on-rails ruby-on-rails-4 console

我在Ubuntu上设置登台和制作服务器,使用Capistrano进行部署。两个服务器都具有相同的设置。但出于某种原因。我可以使用 rails c produciton 访问生产服务器上的控制台。但是当我尝试使用 rails c staging

访问登台服务器上的控制台时
The program 'rails' can be found in the following packages:
 * ruby-railties-3.2
 * ruby-railties-4.0
Try: sudo apt-get install <selected package>

在我的登台服务器上访问控制台的唯一方法是执行

bundle exec rails console staging

登台

  • rvm似乎是正确的,我可以看到我正在使用的ruby版本。
  • 应用程序使用的gemset就在那里。
  • 应用程序正常运行。只是无法通过&#39; rails c&#39;
  • 访问控制台

但由于某些原因,我无法使用 rails c 访问控制台。知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

我猜你没有全局安装rails。首先,请bundle exec rails -v检查您当前使用的rails版本。然后,按gem install rails -v <version>全局安装rails。这应该可以解决您的问题。

运行bundle install只能在bundler中使用rails。在大多数情况下,这应该足够了,因为bundler有助于防止版本冲突的麻烦。

答案 1 :(得分:0)

有几个问题可以更好地了解情况......

您是否尝试为该服务器上该应用程序的rvm上设置的当前ruby版本运行bundle install

您是否更新了其他应用程序/分支的宝石?有时会发生这种情况,因为rails c命令使用可用的最新gem,bundle exec...定位并使用绑定到Gemfile.lock的gem。 应用程序运行正常,因为它使用了Gemfile.lock列出的gem。