ruby-on-rails - Gem 安装错误版本的 bundler
问题描述
我在使用 Bundler 时遇到了问题(bundle cannot load such file bundler-1.17.1/exe/bundle),所以我删除了 Bundler 然后手动删除了所有 bundler 目录:
gem uninstall bundler -x
gem cleanup bundler
然后从以下位置删除rm -rf
:
~/.gem/ruby/2.5.1/gems/bundler-1.17.1
~/.rubies/ruby-2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.17.1
和~/.bundle
现在,我想用默认版本 1.17.1 重新安装 bundler。所以我尝试了gem install bundler
gem install bundler
Fetching: bundler-1.17.1.gem (100%)
Successfully installed bundler-1.17.1
Parsing documentation for bundler-1.17.1
Installing ri documentation for bundler-1.17.1
Done installing documentation for bundler after 3 seconds
1 gem installed
如果我尝试执行捆绑命令,我会收到以下错误:
bundle
Traceback (most recent call last):
1: from /Users/robin/.gem/ruby/2.5.1/bin/bundle:23:in `<main>'
/Users/robin/.gem/ruby/2.5.1/bin/bundle:23:in `load': cannot load such file -- /Users/robin/.rubies/ruby-2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.17.1/exe/bundle (LoadError)
我可以在中看到 bundler-1.17.1,~/.gem/ruby/2.5.1/gems/bundler-1.17.1
但在.rubies/ruby-2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.17.1
. 所以我必须手动复制文件夹:
cp -R ~/.gem/ruby/2.5.1/gems/bundler-1.17.1 ~/.rubies/ruby-2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.17.1
但是现在,如果我尝试使用 bundle 命令,它可以工作,但我在第一行有这条消息:
Warning: the running version of Bundler (1.16.2) is older than the version that created the lockfile (1.16.6). We suggest you upgrade to the latest version of Bundler by running 'gem install bundler'.
我试图通过安装捆绑器,gem install bundler -v 1.17.1
但我仍然有问题。
宝石列表输出:
gem list bundler
*** LOCAL GEMS ***
bundler (default: 1.17.1)
capistrano-bundler (1.4.0, 1.3.0)
我的配置:
macOS 10.13.6
ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
chruby
ruby-2.5.0
* ruby-2.5.1
rails -v
Rails 5.2.1
gem -v
2.7.7
编辑:
我忘了指定比gem pristine bundler
不适用于捆绑器:
gem pristine bundler
Restoring gems to pristine condition...
Skipped bundler-1.17.1, it is a default gem
如果我尝试卸载 bundler 两次,我会收到以下消息:
gem uninstall bundler -x
ERROR: While executing gem ... (Gem::InstallError)
gem "bundler" cannot be uninstalled because it is a default gem
所以我不知道捆绑器是否真的第一次被卸载。
解决方案
推荐阅读
- python - 如何在文件中搜索变量,textwrapper 没有要查找的属性
- java - Java中的类型提升
- python - 如何在其类别中出现所有关键字?
- reactive-programming - subscribeOn(Schedulers.parallel()) 不工作
- c# - 使用 ResourceViewLocationProvider 时如何执行运行时视图更新
- python - matplotlib yaxis奇怪不希望yaxis中显示的每个值
- excel - 如果条件满足突出显示 3 个单元格
- java - Quartz Scheduler 已调度但未 Fire
- c# - 从“file://A/”获取文件
- amazon-web-services - 在 AWS S3 存储桶中接收电子邮件