我遇到了幾個教程,作者在gemfile中聲明瞭同一個gem的兩個版本,即使是在同一個組中。在gemfile中聲明倍數(相同的功能,不同的寶石)。爲什麼?
"haml" and "haml-rails"
"rspec" and "rspec-rails"
"cucumber" and "cucumber-rails"
,並有更多的例子....
這是爲什麼呢?這是一個更好的方式來處理這些寶石,而不是聲明一個寶石?
謝謝
我遇到了幾個教程,作者在gemfile中聲明瞭同一個gem的兩個版本,即使是在同一個組中。在gemfile中聲明倍數(相同的功能,不同的寶石)。爲什麼?
"haml" and "haml-rails"
"rspec" and "rspec-rails"
"cucumber" and "cucumber-rails"
,並有更多的例子....
這是爲什麼呢?這是一個更好的方式來處理這些寶石,而不是聲明一個寶石?
謝謝
那麼,這些是不一樣的寶石。 Rails版本通常擴展標準庫。
但由於foo-rails
在其依賴關係(see example here)foo
,你只需要在foo-rails
您的Gemfile(捆紮機下好了)。
黃瓜欄不像黃瓜一樣的寶石。它有一個依賴的Cucumber,以及一些Rails特有的東西。正如apneadiving所說,如果你在你的Gemfile中包含黃瓜欄,它也應該加載黃瓜。
這是否意味着那些聲明寶石「黃瓜」和「黃瓜 - 鐵軌」的人是否因爲冗餘而做錯了? – AdamT
是的。或者可能有一個老版本的cucumber-rails沒有這種依賴性。 –
這是否意味着那些聲明寶石「黃瓜」和「黃瓜 - 鐵軌」的人是否因爲冗餘而做錯了? – AdamT
它沒有錯,因爲它是無害的,但它是無用的 – apneadiving
這是錯誤的,因爲它不是無害的。你可以結束不同版本的寶石。 –