Почему ruby ​​gem, brew и sencha cmd не работают в MacOS Sierra?

Я был очень амбициозен в отношении выпуска MacOS Sierra версии 10.12, но это меня очень обескуражило из-за неработающей среды разработки. Сбои большинства моих проектов, которые были гладко разработаны и развернуты в предыдущей версии OS X El Capitan. Ruby gem показывает следующие сообщения:

$ gem -v
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
2.5.0

sencha cmd не может собрать проект из-за ошибки Ruby

[INF] executing compass using system installed ruby runtime
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777

Также сбой сборки из-за ошибки из phantomjs

[ERR] BUILD FAILED
[ERR] com.sencha.exceptions.ExProcess: phantomjs process exited with code 139
[ERR]   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMetho
[ERR] dAccessorImpl.java:57)

сбой/сбой phantomjs в MacOS Sierra, варка не работает должным образом, так как это зависит от Рубин. Произошла следующая ошибка с сообщением:

brew update
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
Already up-to-date.

В данной ситуации для меня это катастрофа. Я хочу избавиться от этой ситуации. Погуглив час или больше, я нашел общее мнение экспертов о том, что вернуть его на OS X El Capitan совершенно невозможно. Но есть возможность установить OS X El Capitan. Есть ли у вас какие-либо предложения относительно выпуска?


person Śhāhēēd    schedule 27.09.2016    source источник
comment
Вы установили xcode? попробуйте запустить xcode-select --install, это займет некоторое время   -  person Aleksey    schedule 27.09.2016
comment
Большое спасибо, исправлена ​​вся ошибка, связанная с xcode command line utility. Но все еще есть ошибки с phantomjs-1.9.1-macosx, phantomjs-2.0.0-macosx. Работает только с phantomjs-2.1.1-macosx, где Sencha Cmd v5.0.3.324 зависит от более ранней версии phantomjs.   -  person Śhāhēēd    schedule 28.09.2016


Ответы (1)


В последних версиях OSX/macOS реализована система под названием Защита целостности системы, которая ограничивает доступ пользователей к запись в определенные каталоги, такие как /usr, /var, /sys и т. д. Большинство этих разрешений можно довольно просто изменить (/usr/bin — это тот, который мне пришлось изменить после нескольких обновлений ОС), однако каталоги верхнего уровня, о которых я упоминал ранее, невозможно изменить. изменить разрешения на без загрузки в режим восстановления, даже с sudo или root.

Из сообщений об ошибках видно, что у Ruby возникают проблемы с записью в /usr/local/bin, который также используется Homebrew для хранения двоичных файлов, а также рекомендуется Apple для хранения исполняемых файлов и двоичных файлов, созданных пользователями. Чтобы изменить разрешения для /usr/local/bin и любых других каталогов, вызывающих проблемы, попробуйте выполнить:

sudo chown $(whoami) /usr/local/bin

А затем повторный запуск любых команд с использованием Ruby, которые не увенчались успехом. Надеюсь это поможет!

person Elijah Schutz    schedule 28.09.2016
comment
после установки xcode command line utility вам нужно выполнить sudo chown $(whoami) /usr/local/bin - person Śhāhēēd; 28.09.2016
comment
Это полностью исправило? - person Elijah Schutz; 29.09.2016
comment
Эта исправленная ошибка принадлежит Ruby, gem, brew. Затем мы должны обновить Sencha Cmd до версии v6.2.0.103, а также phantomjs-2.1.1-macosx. - person Śhāhēēd; 29.09.2016