У меня была проблема с Bundler ( bundle не может загрузить такой файл 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.
Поэтому я попытался 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
Но теперь, если я попробую команду связки, она работает, но у меня есть это сообщение в первой строке:
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'.
Я пытался установить 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
EDIT:
Я забыл указать, что 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
Так что я не знаю, действительно ли в первый раз был удален упаковщик.