我需要在我的heroku應用程序(雪松14)上的捆綁器的更新版本,我還沒有看到任何理由爲什麼我不能這樣做。我被困在1.6.6這是幾個月大,我需要最新的版本。在Heroku上升級Bundler版本
我需要爲我的寶石中的一個指定source:
選項,而較早版本的bundler不允許這樣做。此外,運行heroku run gem update bundler
成功更新,但'heroku運行bundle -v'產生1.6.6。
爲什麼?
我需要在我的heroku應用程序(雪松14)上的捆綁器的更新版本,我還沒有看到任何理由爲什麼我不能這樣做。我被困在1.6.6這是幾個月大,我需要最新的版本。在Heroku上升級Bundler版本
我需要爲我的寶石中的一個指定source:
選項,而較早版本的bundler不允許這樣做。此外,運行heroku run gem update bundler
成功更新,但'heroku運行bundle -v'產生1.6.6。
爲什麼?
您可修改在Heroku指定紅寶石Buildpack使用的捆綁版本:
如果你看到一個不同的版本捆紮機的正在使用您的 應用程序比Ruby的支持文章中列出,您的 應用程序可能被配置爲使用buildpack的Ruby分支的主分支進行部署。
要檢查哪些buildpack被配置,使用的Heroku buildpacks 命令:
> heroku buildpacks
> === hidden-temple-25627 Buildpack URL https://github.com/heroku/heroku-buildpack-ruby.git
示例輸出顯示正在使用的buildpack 的未發佈的版本。要切換到支持的版本,請按如下步驟設置版本號 :
heroku buildpacks:set heroku/ruby Buildpack set。 隱藏寺廟25627下一個版本將使用heroku /紅寶石。運行git push heroku master 以使用此buildpack創建新版本。
您可以驗證新buildpack已設置鍵入:
> heroku buildpacks
> === hidden-temple-25627 Buildpack URL heroku/ruby
您的應用程序使用的可能不是當前支持 捆紮機版本的另一個原因是,如果它被配置爲使用部署一個不同的 buildpack URL。如果BUILDPACK_URL config var設置爲 ,則會發生這種情況。
> heroku config:get BUILDPACK_URL BUILDPACK_URL:
> https://github.com/heroku/heroku-buildpack-ruby.git
如果你看到任何價值,那麼你正在使用自定義buildpack。如果此 值設置爲「多buildpack」,如 https://github.com/heroku/heroku-buildpack-multi那麼您將需要 檢查.buildpacks文件以查看在部署中使用了哪些構建包。如果您正在使用這種部署方法,我們建議您使用 ,而不是遵循針對應用文章使用多個Buildpacks 中的指導。
正式部署的Ruby buildpack有時會滯後 master幾天。
除此之外,它不能直接配置:
爲什麼不能捆紮機版本進行配置?
不同版本的Bundler有不同的已知錯誤和輕微的 不同的行爲。 Heroku上的Bundler版本是精心策劃的 。需要在支持新功能和穩定性之間取得平衡。我們在策劃Bundler 版本時所做的工作可確保最大的穩定性,並避免在Bundler發生更改時或由於錯誤修復或由Heroku修補安全問題而避免折舊和 通知週期。
Heroku的Ruby體驗由Heroku Ruby Buildpack提供。這是安裝Bundler版本的工具,並且運行設置應用程序所需的所有命令。 Bundler的 依靠公開曝光的Bundler內部。這是 測試,並知道對目前指定版本的 Bundler工作。如果您要採用現代化的包裝,並將其與 較早版本的捆綁包一起使用,您可能會看到不可預測的 結果。
只是一個異想天開的念頭......如果指定捆綁的,你在你的Gemfile使用新源選項之前需要的版本是什麼?當然,打包者打包的東西很奇怪,但是... – 2014-11-24 22:43:02
好想法..當我最後一次嘗試使用時,它會恢復爲'使用打包程序1.6.6'.It必須是與heroku有關的東西我已經打開了一張票並將在此更新。 – 2014-11-24 22:54:07