2012-11-18 40 views
0

我在Capistrano部署期間出現此錯誤消息。它意味着我有什麼安裝Rails或什麼是錯的? Rails是而不是目前安裝在服務器端,但它在我的Gemfile(和我的Gemfile.lock)中,所以我假設它應該在bundle install命令期間安裝,該命令在該行之前執行。在Capistrano部署期間未定義的方法`action_mailer'

這竟然放棄錯誤的實際命令是:

bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile

我想這個問題就是這樣的Rails沒有被捆綁安裝過程中安裝。我錯過了什麼嗎?

謝謝!

UPDATE 1:通過bundle install命令,導軌似乎正確安裝。如果我查看目錄.../shared/bundle/ruby/1.9.1/gems,我可以在那裏看到動作郵件。

更新2:運行命令rake assets:precompile實際在本地也將失敗,因此這並沒有什麼關係Capistrano的它會出現。現在我只需要弄清楚爲什麼config對象不知道動作郵件程序的任何內容?

更新3:熱點在路上。它看起來像我安裝的actionmailer版本是0.6.1(?!),同時我所有的Rails的東西都是3.2.9。 bundle update拒絕更新此版本的actionmailer。我要去除所有的寶石並重新開始。

更新4:刪除我的整個gemset使用rvm gemset empty。然後嘗試再次運行捆綁包,並且再次它試圖獲得actionmailer 0.6.1。我覺得有些東西是捆綁打包或什麼的...

+0

你是否在服務器端以root身份運行? – cdesrosiers

+0

我作爲Unix機器上'sudo'組的成員運行。所以不,不是以root身份運行,但我應該有權限。它能夠在早期階段創建目錄和東西... – aardvarkk

+0

也嘗試刪除您的Gemfile.lock – platforms

回答

1

這個問題最終導致我在Gemfile中刪除了依賴於特定的版本的Rails。我剛剛在那裏有gem "rails"。這似乎完全破壞了依賴計算,因爲它正在獲取動作郵件的超舊版本,而不是從所有寶石中獲得一致的版本。猜猜沒有指定確切的Rails版本是個好主意。哎呀!

1

@aardvarkk,

感謝張貼這個問題,我在和我的Rails安裝4.0.0和錯誤相同的錯誤是阻止我跑我的rails服務器

這是在我試圖遵循HartR教程RoR。

我將gem "rails", '4.0.0'添加到我的gem文件中,現在我可以運行我的rails服務器。

謝謝

相關問題