2014-02-21 55 views
0

我想使用寶石'better_errors''binding_of_caller'爲我的rails應用程序調試,但我不想包括那些在Gemfile。有可能嗎?我首先想到的是簡單地如何在本地使用寶石?

gem install better_errors 
gem install binding_of_caller 

,但它不工作,我的意思是安裝完成沒有問題,但多數民衆贊成它,寶石似乎並不當我在本地主機上運行我的應用程序在所有的工作。我需要某種配置嗎,任何人?

+2

爲什麼你不想把它們包含在你的gemfile中? –

+2

如果您碰巧正在使用git,請參考本地gem與git。 – KRUKUSA

+0

@Baloo我不想強迫這些寶石在我的同事身上。 KRUKUSA更多細節? – Leo

回答

1

但我不想包括那些在Gemfile中。有可能嗎?

是的,這是可能的。您可以下載所需文件夾中的相應目錄(例如lib),並在初始化程序中添加該寶石類,以便在啓動時加載該寶石類。配置因寶石而異。

我首先想到的是簡單....但它不工作,

Ofcourse,它不會。如何在不知道自己有更好的顯示錯誤的方式的情況下如何神奇地檢測您的導軌應用程序。這只是說,就像你有cancer配方,醫生會自動將該配方應用於患者,而無需告訴他們。兩方應該有一些溝通rails-app和gem,這樣他們才能更好地協調和工作。

我需要某種配置集,有人嗎?

是的,上面解釋過。

我不想強迫這些寶石在我的同事身上。 KRUKUSA更多細節? //在評論中說

是的,包括這個寶石在你的rails應用程序中可以完成這項工作。此擴展程序將自動提供給您的工作。 (沒有施加力:P)

它看起來像你想不顯示這些寶石其他同事,如果是的話,你可以使用這一招用

要實現這個目的,首先簡單地在你的gem文件中添加gem,運行bundle,然後用git使其無法跟蹤。您可以將GemfileGemfile.lock放入您的.gitignore文件中。或者你可以添加第一個添加寶石並用下面的命令標記它忽略。更多here

git update-index --assume-unchanged Gemfile Gemfile.lock 
+0

我沒有測試它的有效性,但很好的答案,雖然:) – scaryguy

0

另一種可能性是創建您自己的環境,並相應地使用它。

  1. 有自己的配置myenv

    $ cp config/environments/{development,myenv}.rb 
    
  2. config/database.yml,添加環境myenv,並使用相同的配置爲development

    development: &development 
        <rest of the code you have on config/databases.yml> 
        ... 
    
    myenv: 
        << *development 
    
  3. Gemfile添加自定義的使用您的mydev組的寶石:

    組:myenv做 寶石 'better_errors' 寶石 'binder_of_caller' 結束

  4. 運行軌道,並與RAILS_ENV這樣耙:RAILS_ENV=myenv rails c

這種方法的好處是,你仍然從回購中獲得Gemfile的更新,並且如果您需要在Gemfile中爲每個人添加寶石,那麼您仍然可以。

此外,沒有人會在您的Gemfile中看到您安裝在myenv組內的寶石。