Не удается установить Cocoapods с RubyGem 2.7.1

Мои Cocoapods не работали, поэтому я выполнил следующую команду:

  1. запустите этот сценарий bash, чтобы удалить все соответствующие драгоценные камни:

    for i in $( gem list --local --no-version | grep cocoapods );
    do 
        sudo gem uninstall $i; 
    done
    
  2. delete ~ / .cocoapods, чтобы удалить кеш podspecs .:

    rm -rf ~/.cocoapods/
    
  3. обновить rubygem:

    sudo gem update --system
    
  4. переустановите cocoapods:

    sudo gem install cocoapods
    

Затем я получил сообщение об ошибке, запрещающее разрешение на доступ к файлу, на шагах 3 и 4:

Сообщение об ошибке Step3:
...
...
Документация по установке rubygems-update завершена через 0 секунд
Установка RubyGems 2.7.1
ОШИБКА: При выполнении gem ... (Errno :: EPERM)
Операция запрещена @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem

Сообщение об ошибке Step4:
Получение: cocoapods-core-1.3.1.gem (100%)
Успешно установленный cocoapods-core-1.3.1
Получение: cocoapods-deintegrate-1.0.1.gem (100 %)
Успешно установлен cocoapods-deintegrate-1.0.1
Получение: cocoapods-downloader-1.1.3.gem (100%)
Успешно установлено cocoapods-downloader-1.1.3
Получение: cocoapods -plugins-1.0.0.gem (100%)
Успешная установка cocoapods-plugins-1.0.0
Получение: cocoapods-search-1.0.0.gem (100%)
Успешная установка cocoapods-search -1.0.0
Получение: cocoapods-stats-1.0.0.gem (100%)
Успешная установка cocoapods-stats-1.0.0
Получение: cocoapods-trunk-1.3.0.gem (100 %)
Успешная установка cocoapods-trunk-1.3.0
Получение: cocoapods-try-1.1.0.gem (100%)
Успешная установка cocoapods-try-1.1.0
ОШИБКА: Пока выполнение драгоценного камня ... (Gem :: FilePermissionError) У вас нет права на запись для каталога / usr / bin.

У меня ограниченные знания о файловой системе Linux / OSX, и я не знаю, что было не так.

Вот информация о моем компьютере:

  1. OS:

    macOS High Sierra 10.13.1

  2. Xcode:

    Версия 9.0.1 (9A1004)
    У меня также есть XCode 7.3.1, переименованный как Xcode_7 в папке приложений

  3. Путь к среде:

    echo $PATH
    

    /Library/Frameworks/Python.framework/Versions/3.4/bin:
    / usr / local / bin:
    / usr / bin:
    / bin:
    / usr / sbin:
    / sbin:
    / opt / X11 / bin:
    /Applications/Server.app/Contents/ServerRoot/usr/bin:
    /Applications/Server.app/Contents/ServerRoot/usr/sbin

  4. Домашнее пиво:

    brew --version
    

    Homebrew 1.3.6
    Homebrew / homebrew-core (git revision 985b; последняя фиксация 07.11.2017)

    brew list
    

    cmake libxml2 ninja pkg-config строка чтения wget gdbm libyaml openssl python3 sqlite xz

  5. RubyGems:

    gem --version
    

    2.7.1

    gem list
    

    * ЛОКАЛЬНЫЕ КАМНИ *
    activesupport (5.1.4, 4.2.10)
    bigdecimal (1.3.2, по умолчанию: 1.2.8)
    CFPropertyList (2.3.5, 2.2. 8)
    claide (1.0.2)
    цветным2 (3.1.2)
    concurrent-ruby (1.0.5)
    did_you_mean (1.0.0)
    escape (0.0.4) < br> fourflusher (2.0.1)
    fuzzy_match (2.1.0, 2.0.4)
    gh_inspector (1.0.3)
    i18n (0.9.1)
    io-console (0.4.6, по умолчанию: 0.4.5)
    json (2.1.0, по умолчанию: 1.8.3)
    libxml-ruby (3.0.0, 2.9.0)
    mini_portile2 (2.3.0)
    minitest ( 5.10.3)
    molinillo (0.6.4, 0.5.7)
    nanaimo (0.2.3)
    nap (1.1.0)
    net-telnet (0.1.1)
    netrc (0.11.0)
    nokogiri (1.5.6)
    power_assert (1.1.1)
    Psycho (2.2.4, по умолчанию: 2.1.0)
    rake (12.2.1, 10.4.2) )
    rdoc (5.1.0, по умолчанию: 4.2.1)
    ruby-macho (1.1.0)
    rubygems-update (2.7.1)
    sqlite3 (1.3.11)
    тестовый модуль (3.2.6)
    thread_safe (0.3.6)
    tzinfo (1.2.4)
    xcodeproj (1.5.3)


person Lee Paul    schedule 08.11.2017    source источник
comment
Здесь такая же проблема ...   -  person Hjalmar    schedule 08.11.2017


Ответы (2)


Это сработало для меня.

Также произошла ошибка переустановки Ruby из-за запуска sudo gem update --system

ERROR:  While executing gem ... (Errno::EPERM)
            Operation not permitted @ rb_sysopen - 
        /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem

Затем я снова попытался выполнить ту же команду (sudo gem update --system) и получил последнюю версию, уже установленную. Готово.

Вместо того, чтобы бежать

sudo gem install cocoapods

пытаться

sudo gem install -n /usr/local/bin cocoapods

Что в итоге сработало для меня! Не очищал предыдущие cocoapods с помощью bash-скрипта, как вы это делаете на шаге 1, но это не должно иметь значения, поскольку вы выполняете переустановку.

person Hjalmar    schedule 08.11.2017
comment
То же самое и с nokogiri: sudo gem install nokogiri -v '1.8.2' -n /usr/local/bin Спасибо! - person Filippo Vitale; 03.02.2018
comment
повторное выполнение той же команды было решением! Не могу поверить, что мне пришлось искать это в Интернете. :) - person Cœur; 16.03.2018

Я думаю, что ответ Яльмара действительно работает. Однако в итоге я использовал Homebrew для установки Ruby, и у меня все работает нормально. Просто введите:

brew install ruby

в Терминале.

person Lee Paul    schedule 13.12.2017
comment
Возможно, вам потребуется запустить brew link --overwrite ruby, чтобы включить версию brew. - person emrahgunduz; 02.03.2018