我工作的Octopress的博客,所以我成立了一個獨立的寶石,做rvm use gemset octopress
。它一切正常。但是,我打開了一個新的ZSH選項卡(我在OS X Mountain Lion上,如果這是相關的),它會回退到我以前使用的gemset。我當時並不知道,所以我跑了bundle install
。我注意到它安裝了我已經安裝在Octopress gemset中的所有寶石,所以我想清楚發生了什麼。問題:有沒有撤消此bundle install
,所以我沒有在其他寶石所有這些寶石一個簡單的方法,還是應該手工卸載它們通過寶石的寶石(他們是不少)。謝謝。如何撤銷bundle install?
2
A
回答
3
可以清空gemsets與RVM:
rvm gemset empty
它將從選定的寶石消除所有的寶石,也可以即暫時切換到其他寶石搭配:
rvm @the-other-gemset do rvm gemset empty
+0
好的,謝謝:)這樣的想法是,我清空相關的寶石,然後從我捆運行正確的應用程序文件夾中安裝只需要與該特定應用程序的寶石來填充它,對嗎? –
+0
是的,這將工作,如你所願 – mpapis
1
兩天前我有同樣的問題(再次),並通過編寫此命令來解決它:
$ threshold="20m"; dir="`rvm gemdir`/gems"; find -X "$dir" -type d -maxdepth 1 -mindepth 1 -mtime -"$threshold" | xargs basename | sed -e 's/-\(\([0-9]\{1,\}.\)*[0-9]\{1,\}\)$/ \1/g' -e 's/\(.*\) \(.*\)/gem uninstall \1 --version \2 --executables --ignore-dependencies \&/g'
它生成儘可能多的命令行來卸載在給定的閾值之後添加的每個寶石(上面是20分鐘)。然後,您只需在命令提示符下複製並粘貼這些行。
之前執行我的命令:
- 確保當前的寶石是它搞砸
- 的一個設置
threshold
到適合的數值您的需求
例如,上述命令可能會生成以下行:
gem uninstall elasticsearch --version 1.0.1 --executables --ignore-dependencies &
gem uninstall elasticsearch-api --version 1.0.1 --executables --ignore-dependencies &
gem uninstall elasticsearch-extensions --version 0.0.14 --executables --ignore-dependencies &
gem uninstall elasticsearch-transport --version 1.0.1 --executables --ignore-dependencies &
如果你想要一些額外的信息,我在這裏貼出了一篇文章:http://noteslog.com/post/how-to-undo-a-wrong-bundle-install/
相關問題
- 1. bundle install和RVM
- 2. 撤銷iOS證書撤銷
- 3. mysql如何撤銷文件
- 4. 如何撤銷svn結帳
- 5. 如何撤銷bzr忽略?
- 6. 如何撤銷「svn upgrade」
- 7. 如何撤銷「hg qnew」?
- 8. 如何撤銷hg init?
- 9. 如何撤銷HealthKit授權
- 10. 如何撤銷`hg pull`?
- 11. 如何撤銷Subversion提交
- 12. Bundle install忽略pg gem
- 13. Rails 3.2.1`bundle install --path vendor` equivalent
- 14. bundle和gem install的區別?
- 15. Ruby on rails bundle install - json error
- 16. 'gem install bundle'出錯了
- 17. 撤銷TFS Unshelve
- 18. 撤銷註冊
- 19. 撤銷ax.set_yticks([])
- 20. 撤銷IBAction?
- 21. IdentityServer4 refresh_token撤銷
- 22. Windbg撤銷zap
- 23. 撤銷遷移
- 24. 撤銷removeFromSuperview?
- 25. 撤銷plus.login
- 26. 我使用的是RVM,使用bundle install和rvm bundle install有什麼區別?
- 27. 如何停止oracle的撤銷過程?
- 28. 如何撤銷SVN上的修訂號?
- 29. 如何撤銷perforce中的解析?
- 30. 如何撤銷TortoiseSVN中的回滾?
如果你想使用寶石的特定版本只是說明他們在寶石文件和運行包更新。如果有寶石包括你不想要或需要的只是寶石卸載Gem_name –
您正確回答自己的問題。我喜歡在開始卸載任何gem之前,將bundle install的輸出複製/粘貼到文本文件以供參考。 – Teddy