簡體   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