Я не могу установить и запустить fakes3
gem на El Capitan Beta 5.
Я попытался:
sudo gem install fakes3
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/fakes3
Затем я попытался сделать это как кокосопод. Это работало для кокапод, но не для подделок3.
mkdir -p $HOME/Software/ruby
export GEM_HOME=$HOME/Software/ruby
gem install cocoapods
[...]
1 gem installed
gem install fakes3
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
sudo
для установки Ruby или изменения гемов. Вместо этого используйте rbenv или RVM для установки и управления Ruby. Прочитайте и следуйте инструкциям на соответствующих сайтах. И, в любом случае, после установки не используйте,sudo
если вы не понимаете, что меняется и почему вы хотите это сделать.Ответы:
Отказ от ответственности: @theTinMan и другие разработчики Ruby часто указывают, что их не следует использовать
sudo
при установке гемов, и указывают на такие вещи, как RVM . Это абсолютно верно при разработке Ruby. Идите и используйте это.Тем не менее, многие из нас просто хотят некоторые двоичный файл , который случается быть распределены как драгоценный камень (например
fakes3
,cocoapods
,xcpretty
...). Я определенно не хочу беспокоиться об управлении отдельным рубином. Вот ваши более быстрые варианты:Вариант 1: продолжать использовать sudo
Использование
sudo
, вероятно, хорошо, если вы хотите, чтобы эти инструменты были установлены глобально.Проблема в том, что эти двоичные файлы установлены
/usr/bin
, что запрещено со времен El Capitan. Тем не менее, вы можете установить их/usr/local/bin
вместо. Вот где Homebrew устанавливает свои вещи, так что, вероятно, уже существует.Gems будут установлены,
/usr/local/bin
и каждый пользователь в вашей системе сможет использовать их, если они находятся в своем PATH .Вариант 2: установить в свой домашний каталог (без sudo)
Следующее установит гемы
~/.gem
и поместит двоичные файлы~/bin
(которые вы должны затем добавить в свойPATH
).Сделайте это по умолчанию
В любом случае, вы можете добавить эти параметры в свой,
~/.gemrc
так что вам не нужно их запоминать:т.е.
echo "gem: -n/usr/local/bin" >> ~/.gemrc
или
т.е.
echo "gem: --user-install -n~/bin" >> ~/.gemrc
( Совет: вы также можете отказаться
--no-document
от создания документации для разработчиков Ruby.)источник
gem install
решило проблему..gemrc
Должен иметьgem: -n /usr/local/bin
(нужен пробел после -n).В моем случае мне пришлось переустановить Ruby с помощью Brew . Кажется, это решило проблему, так как я могу снова установить гемы.
После этого вам необходимо выйти из системы и снова войти в нее, либо графически, либо просто перезапустив свой терминал.
источник
brew install ruby
помещает его туда, даже если он уже там. Предположительно, ruby в / usr / local сконфигурирован для установки своих драгоценных камней в месте, где не требуется root-доступ (что на самом деле имеет смысл).gem install
произойдет сбой.rehash
чтобы убедиться, что ваша оболочка понимает, что есть новаяruby
версия$PATH
. Даже это не будет необходимо в ситуации, когда вы еще не запускалисьruby
в сеансе оболочки.Это из-за новой функции безопасности OS X "El Capitan". Попробуйте добавить
--user-install
вместо использования sudo:Например, если вы хотите установить fake3, просто используйте:
источник
Попробуй это. Это определенно будет работать.
источник
Вы должны обновить Xcode до новейшего (v7.0.1), и все будет работать как обычно.
Если после того, как вы установили новейший Xcode и все еще не работаете, попробуйте установить gem следующим образом:
Например:
источник
Похоже, при обновлении до OS X El Capitain, каталог / usr / local изменяется несколькими способами:
[Править] Есть также предварительная вещь, которую нужно сделать: обновить Xcode ...
Решение для № 1:
Это исправит права доступа к
/usr/local
каталогу, что поможет какgem install
иbrew install|link|...
командам работать правильно.Решение № 2:
Проблемы с Ruby
Убедитесь, что вы установили права доступа к
/usr/local
каталогу (см. №1 выше)Сначала попробуйте переустановить ваш драгоценный камень, используя:
Обратите внимание, что будет установлена последняя версия указанного гема.
Если вы не хотите сталкиваться с проблемами обратной совместимости, я предлагаю вам сначала определить, какую версию какого драгоценного камня вы хотите получить, а затем переустановить его с
-v version
. Смотрите пример ниже, чтобы убедиться, что система не получит новую версию capistrano.Проблемы с пивоварением
Обновите варево и обновите свои формулы
Вам также может понадобиться повторно связать некоторые из них вручную
источник
Как уже было сказано, проблема связана с функцией безопасности Mac OSX со времен «El Capitan».
При использовании системы Ruby по умолчанию процесс установки происходит в
/Library/Ruby/Gems/2.0.0
каталоге, который недоступен пользователю, и выдает ошибку.Вы можете посмотреть параметры среды Ruby с помощью команды
Существует ИНСТРУКЦИЯ ПО УСТАНОВКЕ и ИНСТРУКЦИЯ ПО УСТАНОВКЕ. Чтобы использовать каталог установки пользователя вместо каталога установки по умолчанию, вы можете использовать
--user-install
параметр вместо использования,sudo
что никогда не рекомендуется.В процессе не должно быть никаких проблем с правами. Затем драгоценные камни устанавливаются в пользовательский каталог:
~/.gem/Ruby/2.0.0/bin
Но чтобы сделать установленные гемы доступными, этот каталог должен быть доступен по вашему пути. В соответствии с часто задаваемыми вопросами Ruby , вы можете добавить следующую строку в ваш
~/.bash_profile
или~/.bashrc
Затем закройте и перезагрузите терминал или перезагрузите ваш
.bash_profile
или.bashrc
(. ~/.bash_profile
)источник
Это решение, которое я использовал:
Примечание: это исправление для компаса, как я написал для другого SO вопроса, но я использовал один и тот же процесс для восстановления функциональности всех процессов терминала, очевидно, что устанавливаемые вами гемы разные, но процесс тот же.
Я была такая же проблема. Это связано с тем, что Apple внедрила защиту целостности системы (SIP). Вы должны сначала отключить это ...
Перезагрузка в режиме восстановления:
Перезагрузитесь и удерживайте Ctrl + R, пока не увидите логотип яблока.
После загрузки выберите Утилиты> Терминал в верхней панели.
тип:
csrutil disable
затем введите:
reboot
После перезагрузки
Откройте терминал обратно и введите команды:
sudo gem uninstall bundler
sudo gem install bundler
sudo gem install compass
sudo gem install sass
sudo gem update --system
Отдельные драгоценные камни, которые потерпели неудачу, должны быть исправлены, поэтому для каждого сделайте следующее:
На моей машине это была первая неработающая зависимость, поэтому я перечислил ее :
sudo gem pristine ffi --version 1.9.3
Пройдите по списку драгоценных камней, которые необходимо отремонтировать. В общем, вам нужно около 10 минут, чтобы исправить это, но у вас будут команды терминала для работы с компасом.
Скриншот
источник
Если гем, который вы пытаетесь установить, требует библиотек xml, попробуйте это:
В частности, я столкнулся с проблемой при установке nokogiri gem v 1.6.8 на OS X El Capitan.
и это наконец сработало для меня:
Чтобы убедиться, что у вас установлены libxml2 и libxslt, вы можете сделать:
и затем убедитесь, что у вас установлены инструменты командной строки xcode:
должен вернуть эту ошибку:
источник
Переустановка RVM работала для меня, но мне пришлось переустанавливать все мои драгоценные камни впоследствии:
источник
Я столкнулся с той же проблемой после установки El Capitan, попытался установить sass и compass в проект Symfony, следующая команда вернула следующую ошибку:
$ sudo gem установить компас
ОШИБКА: Ошибка установки компаса: ОШИБКА: не удалось создать собственное расширение для gem.
проверка на ffi.h ... /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:434:in `try_do ': компилятору не удалось сгенерировать запускаемый файл. (Ошибка выполнения)
Затем я попытался установить sass с помощью: $ sudo gem install sass
Получил то же сообщение об ошибке, после некоторого поиска в Google мне удалось установить sass с помощью следующей команды:
$ sudo gem install -n / usr / local / bin sass
Вышеописанное помогло мне с установкой sass, но не сработало для установки компаса. Я читал, что кто-то где-то открыл экземпляр xcode, затем снова закрыл его, а затем успешно выполнил ту же команду, после которой работал для них. Я попытался открыть xcode, но получил сообщение о том, что установленная версия xcode не совместима с El Capitan. Затем я обновил xcode из магазина приложений и повторно выполнил следующую команду, которая в этот раз была выполнена успешно:
$ sudo gem install -n / usr / local / bin compass
Затем я смог запустить $ compass init
Теперь у меня есть все мои драгоценные камни, и я могу приступить к созданию прекрасных нахальных вещей :)
источник
Я должен был
rm -rf ./vendor
тогда бежатьbundle install
снова.источник
Я не люблю устанавливать вещи с помощью sudo. как только вы начинаете с sudo, вы не можете остановиться ..
попробуйте дать разрешения для каталога Gems.
источник
Это даст разрешения обратно (Homebrew устанавливает там ruby)
источник