怎么用 binstubs 避免輸入bundle exec

場景:

以rack為例,假設項目的rack有兩個不同的版本(1.6.5, 2.0.1)。

在運行項目時,會默認先加載 2.0.1版本的rack,這個時候依賴1.6.5版本的gem就炸了,比如sinatra。

Then you will see :

! Unable to load application: Gem::ConflictError: Unable to activate sinatra-1.4.8, because rack-2.0.1 conflicts with rack (~> 1.5)

解決方案

  1. 去掉 2.0.1版本的gem,但這樣解決不high
$ gem uninstall rack -v 2.0.1
  1. 使用 binstubs
  • 用 bundle install --binstubs 替代 bundle instal
  • 執行后,將會出現一個bin目錄
  • 用./bin 的方式啟動 (如 ./bin puma -p 8989)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容