我从Gemfile中删除了一个gem'mygem',但刚才我意识到它仍然安装。从Gemfile中删除宝石后该怎么办?
那么如何让bundler重新扫描Gemfile并更新Gemfile.lock,而不是更新每一个gem?
来自php,这是我习惯于这样做的:composer update nothing
。捆绑器是否有相同的功能?
我从Gemfile中删除了一个gem'mygem',但刚才我意识到它仍然安装。从Gemfile中删除宝石后该怎么办?
那么如何让bundler重新扫描Gemfile并更新Gemfile.lock,而不是更新每一个gem?
来自php,这是我习惯于这样做的:composer update nothing
。捆绑器是否有相同的功能?
您只能运行bundle
或bundle install
根据您的Gemfile安装宝石。这会从你的Gemfile.lock文件中删除mygem
的实例。但是,它不会从系统中删除宝石。为此,请运行gem uninstall mygem
。
不完全相关,但还是有帮助的:
bundle outdated
会告诉你,是不是最新版本的宝石。不要拿与这个列表绑定在一起 - 宝石不在最新版本上是相当常见的,因为有些宝石是作为依赖安装的&一个宝石可能需要另一个宝石的旧版本。bundle upgrade mygem
会升级只是那宝石,并且会带来它的依赖关系的更新。这意味着其他宝石可能会升级或安装。清理未使用的宝石在你的捆绑目录: 束干净--force
还有非常方便的'捆绑clean'命令自动删除旧的和未使用的宝石。可以使用Bundler> = 1.1,并且如果使用'--path'选项安装了gem。 – Torimus
哦,很酷!我一直在使用'gem cleanup' ...任何想法这两者如何不同? –
我喜欢这些综合性答案 – Donato