Как я могу исправить случайное 'sudo bundle install dir_name'? - PullRequest
12 голосов
/ 03 мая 2011

Я случайно запустил sudo bundle install smtp_mail и теперь все мои драгоценные камни находятся в этом каталоге с именем smtp_mail внутри моего приложения Rails.

Я не уверен насчет расположения драгоценных камней по умолчанию? И мое приложение Rails жалуется, когда оно запускается. Есть ли способ, которым я могу вернуться обратно?

Ответы [ 4 ]

17 голосов
/ 03 мая 2011

После небольшого поиска в Google я смог найти ответ Просто запустите:

sudo bundle install --system и вы вернете свои драгоценные камни в соответствующие системные каталоги.

6 голосов
/ 03 мая 2011

Путь указан в файле, расположенном в

.bundle/config  

Если вы удалите каталог .bundle, а затем удалите каталог smtp_mail, вы вернетесь на круги своя. Если вы действительно хотите локальную (для вашего приложения) установку гемов, я рекомендую запустить

bundle install --path vendor/bundle

Удачи!

6 голосов
/ 03 мая 2011

обратите внимание на это ...

со справочной страницы комплекта:

По умолчанию, упаковщик устанавливает драгоценные камни в то же место, что и установка самоцветов.

Вы никогда не должны использовать sudo bundle install.Это связано с тем, что в качестве текущего пользователя необходимо выполнить несколько других шагов при установке пакета:

Обновление вашего Gemfile.lock Обновление вашего поставщика / кэша, если необходимо Извлечение частных репозиториев git с использованием ключей SSH вашего пользователя

Из этих трех первые два теоретически могут быть выполнены путем сгущения результирующих файлов к $ SUDO_USER.Третье, однако, может быть выполнено только путем фактического вызова команды git от имени текущего пользователя.Поэтому git gems загружаются и устанавливаются в ~ / .bundle, а не в $ GEM_HOME или $ BUNDLE_PATH.

В результате вы должны запустить bundle install от имени текущего пользователя, и bundler спросит ваш пароль, если оннеобходимо поместить драгоценные камни в их окончательное местоположение.

0 голосов
/ 13 сентября 2017

Это помогло мне, когда я столкнулся с проблемой симуляции.

Я rm -rf все файлы в .bundle и затем удалил, а затем я следовал командам в этом документе.

http://ruby -korea.github.io / пакетирования-сайт / issues.html .

...