我在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
登台
但由于某些原因,我无法使用 rails c 访问控制台。知道如何解决这个问题吗?
答案 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。