Невозможно восстановить из `sudo bundle install`

по ошибке Я побежал sudo bundle install в моем проекте, и теперь, когда я запускаю его как себя bundle install, я получаю разрешение на отклонение ошибок (ниже). Я пробовал инструкции здесь https://github.com/bundler/bundler/blob/master/ISSUES.md#other-problems, также пытался клонировать мой проект в новый каталог и запускать пакет оттуда, бесполезно. Пожалуйста, помогите!

error: cannot open .git/FETCH_HEAD: Permission denied

Retrying git fetch --force --quiet --tags "/home/akonsu/.bundler/cache/git/em-postgresql-adapter-361cdc05eba5661bb17040a7a6c2a093f9c2263b" due to error (2/3): Bundler::Source::Git::GitCommandError Git error: command `git fetch --force --quiet --tags "/home/akonsu/.bundler/cache/git/em-postgresql-adapter-361cdc05eba5661bb17040a7a6c2a093f9c2263b"` in directory /usr/local/lib/ruby/gems/2.1.0/bundler/gems/em-postgresql-adapter-3dfcc60378e9 has failed.
If this error persists you could try removing the cache directory '/home/akonsu/.bundler/cache/git/em-postgresql-adapter-361cdc05eba5661bb17040a7a6c2a093f9c2263b'
error: cannot open .git/FETCH_HEAD: Permission denied

Retrying git fetch --force --quiet --tags "/home/akonsu/.bundler/cache/git/em-postgresql-adapter-361cdc05eba5661bb17040a7a6c2a093f9c2263b" due to error (3/3): Bundler::Source::Git::GitCommandError Git error: command `git fetch --force --quiet --tags "/home/akonsu/.bundler/cache/git/em-postgresql-adapter-361cdc05eba5661bb17040a7a6c2a093f9c2263b"` in directory /usr/local/lib/ruby/gems/2.1.0/bundler/gems/em-postgresql-adapter-3dfcc60378e9 has failed.
If this error persists you could try removing the cache directory '/home/akonsu/.bundler/cache/git/em-postgresql-adapter-361cdc05eba5661bb17040a7a6c2a093f9c2263b'
error: cannot open .git/FETCH_HEAD: Permission denied

Git error: command `git fetch --force --quiet
--tags "/home/akonsu/.bundler/cache/git/em-postgresql-adapter-361cdc05eba5661bb17040a7a6c2a093f9c2263b"` in directory
/usr/local/lib/ruby/gems/2.1.0/bundler/gems/em-postgresql-adapter-3dfcc60378e9
has failed.
If this error persists you could try removing the cache directory
'/home/akonsu/.bundler/cache/git/em-postgresql-adapter-361cdc05eba5661bb17040a7a6c2a093f9c2263b'

Ответ 1

Клонирование репо в новый каталог не помогло бы. Вы установили драгоценные камни в каталог стандартных драгоценных камней, а не в каталог, специфичный для пакета.

Лучшим вариантом является установка пакета в новый каталог и игнорирование драгоценных камней, установленных на пути к системе.

Попробуйте bundle install --path /home/akonsu/.new_project_bundle. Вы не должны указывать этот параметр каждый раз. Это запомнилось.

http://bundler.io/v1.3/man/bundle-install.1.html

Также вам нужно установить разрешения каталога кэша связующего, как указано в комментариях (или удалить его).

Ответ 2

Сегодня у меня была такая же проблема в моем mac. Я решил это, удалив папку ~/.bundle.

После этого я запустил bundle install --path ~/.bundle, и все снова работало нормально.

Ответ 3

Прочтите, что указано на веб-сайте поставщика, и никакой внешней помощи не потребуется.

Драгоценные камни будут установлены в ваше местоположение по умолчанию для драгоценных камней. Если ваши системные драгоценности хранятся в корневом каталоге (например, в Mac OSX), пакет будет запрашивать ваш корневой пароль для их установки там.

При установке драгоценных камней Bundler проверит поставщика/кэш, а затем ваши системные драгоценные камни. Если камень не кэширован или не установлен, Bundler попытается установить его из источников, которые вы указали в своем Gemfile.

Параметр --system по умолчанию. Передайте его для возврата после использования параметра --path, как описано ниже.

Установите свои зависимости, даже драгоценные камни, которые уже установлены на ваши системные драгоценные камни, в другое место, отличное от хранилища системных драгоценных камней. В этом случае установите их поставщику/пакету.

$ bundle install --path vendor/bundle

Другие команды пакета или вызовы Bundler.setup или Bundler.require запомнят это местоположение.

Источник: http://bundler.io/v1.9/bundle_install.html

Ответ 4

chmod 777/usr/local/lib/ruby/gems/2.3.0/bundler/gems