У вас нет прав на запись в каталог /Library/Ruby/Gems/2.3.0. (пользователь Mac)

ниже то, что мне нужно сделать.

To run the specs, you'll need to install RSpec. First, run gem install bundler in the root directory of your project. Then, run bundle install. To run a single spec file, run a command like this: bundle exec rspec spec/00_hello_spec.rb. To run all of the specs at once, run bundle exec rspec.

Итак, я набрал gem install bundler в Терминале и получил ошибку:

You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

и это было в файле проекта в атоме

source "https://rubygems.org"
gem "rspec", "~> 3.2.0"

У меня вопрос:

Кажется, терминал дает мне ответ, потому что я не должен ничего менять на Ruby, а мне нужен bundle install внутри атома? Может ли кто-нибудь сказать мне, как использовать атом или запускать что-нибудь в атоме?

Просто используйте следующую команду sudo chown -R $USER /Library/Ruby/Gems/

Faiz Fareed 04.04.2021 14:14
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
209
1
201 872
18

Ответы 18

Обычно рекомендуется использовать диспетчер версий, например rbenv или rvm. В противном случае установленные Gems будут доступны другим пользователям как root.

Если вы знаете, что делаете, вы можете использовать sudo gem install.

Если вы не хотите запускать sudo, установите ruby ​​с помощью homebrew

brew install ruby
export GEM_HOME = "$HOME/.gem"
gem install rails

Вы можете добавить export GEM_HOME = "$HOME/.gem" к вашему ~/.bash_profile или .zshrc, если вы используете zsh

Примечание: RubyGems сохраняет старые версии гемов, поэтому не стесняйтесь делать некоторую очистку после обновления:

gem cleanup

не помогло на Catalina OS ?

Efrat Levitan 14.10.2019 20:08
Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails You can then rerun your "rails" command
Efrat Levitan 16.10.2019 11:14

Похоже, вы пытаетесь запустить команду rails. Последние две команды, которые у меня есть, не запускают команду rails. Попробуйте открыть новый терминал за пределами вашего проекта, а затем скопируйте две последние строки моего ответа одну за другой.

STIKO 16.10.2019 23:58

не забудьте source ~/. zshrc (или ~/.bash_profile)

gordinmitya 17.05.2020 10:56

Работая для меня над Catilina 10.15.4, я удалил rvm rbenv, а затем установил rbenv. Затем обновил мой .zshrc, получил его (он же $ source ~/.zshrc), а затем безупречно установил рельсы. Спасибо за исправление PATH.

Curtis M 22.05.2020 02:00

У меня это сработало - я тоже использую Каталину. Я не хотел беспорядка с использованием sudo, поэтому спасибо!

mogwai 12.11.2020 04:32

Работает на macOS Catalina 10.15.7 Спасибо!

vidalbenjoe 03.12.2020 13:00

Я столкнулся с такой же проблемой после установки macOS Catalina. Я попробовал команду ниже и ее работу.

sudo gem update

Безусловно, самое простое решение для тех, кто не хочет выполнять полноценную установку ruby ​​+ менеджеров пакетов + и т. д.

dss 03.05.2021 07:14

Решение для Mac

  1. Установить / обновить RVM последней версией ruby

    \curl -sSL https://get.rvm.io | bash -s stable

  2. Установить упаковщик

    gem install bundler


после этого две команды (sudo) gem install .... начали работать

может потребоваться также указать rvm use <version>

ObjectNameDisplay 27.12.2019 08:29

Запустите это

$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:

eval "$(rbenv init -)"

Следуйте инструкциям (в моем случае добавьте в ~ / .zshrc);)


Также важно: изменения вступят в силу только после перезагрузки консоли. Два варианта

  • Введите source <modified file>.
  • закрыть и снова открыть

Я обновился до Catalina (который переключается с bash на zsh) и забыл скопировать все с .bash_profile на .zshrc

wetjosh 12.01.2020 22:06

Это работает! Не используйте sudo! Если вы не используете ZSH, вы можете добавить его в свой .profile или .bash_profile. Отличный способ проверить, работает ли это, - использовать which ruby, он должен указывать на путь с rbenv, а не на /usr/local/ruby.

Swaathi Kakarla 21.12.2020 08:23

Работал для меня с использованием параметра --user-install, выполняющего следующую команду:

gem install name_of_gem --user-install

Редактировать

Был один драгоценный камень, который я все еще не мог установить (для этого требовались заголовки Ruby.h из комплекта разработки Ruby или что-то в этом роде), затем я пробовал разные менеджеры версий, но почему-то это все еще не работало, поскольку в документации было указано, как просто установить и переключить (он просто не переключал версии). Затем я удалил все установленные менеджеры версий, а затем установил последнюю версию с brew install ruby, а также установил переменную PATH. (Об этом будет сказано после установки ruby ​​from brew), которая сработала.

Это должен быть выбранный ответ. Brew еще не поддерживается чипами M1, и это работает как шарм.

Tom Roggero 05.12.2020 23:02

Почему этот ответ находится так далеко в списке? Это правильный ответ.

peterretief 26.12.2020 10:55

Прекрасно работает на моем Mac Mini M1. Homebrew уже поддерживает чипы M1

Nghia Tran 13.01.2021 15:47

Если вы установили ruby ​​отдельно и установили ruby ​​с помощью rbenv / rvm, ваш budler может указать на разные версии.

пытаться

gem env home

а также

ruby -v

оба должны указывать на одну и ту же версию. проверьте, что вы установили ruby ​​с помощью rbenv / rvm. Если это так, удалите версию ruby, которую вы установили отдельно.

Чтобы гем работал, вы должны вызвать rbenv,

rbenv shell <ruby version> 

а также

rbenv global <ruby version>

Я не уверен, как работает RVM. Сообщите мне, если это сработает.

отсутствовала настройка оболочки и глобального. Почему этого нет в инструкции rbenv ?

feitla 18.10.2020 22:00

Не уверен, почему это было упущено, я смог выяснить после попытки.

Bharathan Kumaran 31.10.2020 19:28

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

sudo chown -R $(whoami) $(brew --prefix)/*

Я использую Mojave с rbenv, мне подходит это решение:

$ vi ~/.bash_profile

Добавьте в файл эту строку:

if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

Просто делаю sudo gem uninstall cocoapods у меня работал.

Следует использовать другую установку рубина. Для этого я использую rbenv.

# install your version of ruby
$ rbenv install 2.0.0-p247

# modify .ruby_version on current directory
$ rbenv local 2.0.0-p247

# proceed installing gems
$ gem install bundler

Дисклеймер: я не рубиновый человек. Это сработало для меня, и если вы эксперт по рубинам и видите, что в этом ответе что-то изменится, пожалуйста, продолжайте или комментируйте!

TL; DR

В нескольких случаях я решал такие ошибки, просто закрывая сеанс терминала и открывая новый, прежде чем повторять неудачную команду.

Длинное объяснение

В некоторых SO (например, MacOS) уже есть предустановленная общесистемная версия ruby. Если вы используете диспетчер версий, такой как rbenv или asdf, они работают, играя со средой вашего текущего сеанса, так что соответствующие команды указывают на двоичные файлы, установленные диспетчером версий.

При установке нового двоичного файла диспетчер версий устанавливает его в специальном месте, обычно где-то в домашнем каталоге пользователя. Затем он настраивает все в вашем PATH так, чтобы вы получали только что установленные двоичные файлы при вводе команды вместо тех, которые были в вашей системе. Однако, если вы не перезапустите сеанс (есть и другие способы обновления среды, но это самый простой), вы не получите новую конфигурацию и будете использовать исходную установку.

Решение для MAC. запустите команду

sudo gem update    

затем введите свой пароль Mac, когда будет предложено

Потрясающие. Исправил прямо. +1

Micah Montoya 24.03.2021 21:22

Попробуй это:

sudo gem install cocoapods --user-install

Работал на меня

Как упоминает @idleberg, в Mac OS лучше всего установить rbenv, чтобы избежать ошибок разрешений при использовании вручную установленного ruby.

Монтаж

$ brew update
$ brew install rbenv

Добавьте в файл .bashrc следующее:

eval "$(rbenv init -)"

Теперь мы можем посмотреть список доступных для установки версий ruby.

$ rbenv install -l

Установите версию 2.3.8 например

$ rbenv install 2.3.8

Теперь мы можем использовать эту рубиновую версию по всему миру.

$ rbenv global 2.3.8

Наконец запустить

$ rbenv rehash
$ which ruby
/Users/myuser/.rbenv/shims/ruby
$ ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [x86_64-darwin17]

Действуй

Теперь установите бандлер

$ gem install bundler

Все сделано!

Попробуйте 1 или 2

1 - $ gem install cocoapods
2 - $ sudo gem install cocoapods

если не работает, экспортируйте GEM_HOME:

export GEM_HOME = "$HOME/.gem"

И попробуй еще раз:

gem install cocoapods

Помните, что в официальном документе говорится, что вы можете использовать sudo (https://guides.cocoapods.org/using/getting-started.html#getting-started).

export GEM_HOME = "$HOME/.gem" у меня работал
Nicholas Porter 19.05.2021 23:26

Попробовав предыдущие подходы, у меня это сработало на Биг-Суре:

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

Просто экспортируйте GEM_HOME:

export GEM_HOME = "$HOME/.gem"

А потом попробуйте:

gem install cocoapods

Другие вопросы по теме