2017-04-19 42 views
0

在〜/ src/project /中包含所有文件,我試圖運行bundlebundle install,但它告訴我需要一個名爲「buff-extensions 「並且gem安裝程序要求Ruby版本> = 2.2.0才能正常工作。如何控制在運行bundle時使用哪個版本的Ruby

當我運行ruby --version時,它表示從該目錄運行時正在使用Ruby 2.2.4p230。

我知道有幾個地方的機器上有幾個版本的Ruby,我正在努力遵循這些路徑並找出哪個技術使用哪個部分。

+0

您的問題很廣泛。我建議刪除有關其他技術的專欄,並針對該問題撰寫一個明確的問題,因爲這是一堆蠕蟲。 –

+0

感謝您的建議。我不確定需要多少環境才能提供答案,所以我儘可能多地包含了我可能想到的內容。 – user7264887

回答

1

Bundler docs拼了這一點:

您可以ruby指定紅寶石在Gemfile所需的版本。如果Gemfile在不同的Ruby版本上加載,則Bundler將引發一個異常並附帶說明。

ruby '1.9.3' 

這意味着,這個應用程序有一個Ruby VM的依賴是ABI與1.9.3兼容。如果版本檢查不匹配,Bundler將引發異常。這將確保運行代碼匹配。您可以使用:engine:engine_version選項更具體。

ruby '1.9.3', :engine => 'jruby', :engine_version => '1.6.7' 
+0

我試過了,把「ruby'2.2.4'」放在Gemfile中,它告訴我文檔說我會得到同樣的錯誤信息,「你的Ruby版本是2.0.0,但是你的Gemfile指定了2.2.4 」。它看起來像Gemfile行被視爲一個偏好,而不是一個命令。我嘗試閱讀更多這些文檔,特別是頁面及其後續鏈接,您發佈了......如果在這些文檔中有某種方法可以解決此問題,則無法找到它。 – user7264887

0

我終於想通了確切的咒語,以獲得預期的結果,我現在認識到的情況是不合理的任何一個陌生人去嘗試回答。它涉及chef,我本應該運行chef exec bundle

+0

:-)這就是我們學習的方式。以及我們如何學習如何與SO合作。一旦你經歷了幾次循環,就開始明白如何定義一個問題和所有需要的信息。我喜歡Jon Skeet的「[編寫完美問題](https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)」和「[橡皮鴨問題解決]」(https:/ /blog.codinghorror.com/rubber-duck-problem-solving/)」。 –

相關問題