繁体   English   中英

'rails c'不起作用,但'bundle exec rails console'可以

[英]'rails c' doesn't work, but 'bundle exec rails console' does

我正在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就在那里。
  • 应用程序运行正常 只是无法通过'rails c'访问控制台

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

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

运行bundle install仅在捆绑器内提供导轨。 在大多数情况下,这应该足够了,因为bundler有助于防止版本冲突的麻烦。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM