Таким образом, я всегда, кажется, получаю сообщения об ошибках, когда я устанавливаю новые драгоценные камни. Я плохо знаком с Ruby, направляющими и RubyGems, таким образом, он делает это очень печальным. Я не уверен, должен ли я настроить что-то, или если я установил что-то неправильно... Так, надо надеяться, можно помочь. Вот некоторые примеры проблем, которые я имею:
В тоннах учебных руководств/документации они всегда используют:
gem install gem-name
Для меня это почти всегда приводит к своего рода ошибке..., пока я не делаю...
sudo gem install gem-name
... затем драгоценный камень обычно устанавливает прекрасный. Как получается, что люди могут работать gem install
не начиная с sudo
?
Серьезно! Я желаю, чтобы я сделал бы это раньше. Менеджер по Версии Ruby позволяет выполнить несколько версий Ruby, каждого с их собственным набором драгоценных камней и переключателя между различными версиями беспрепятственно. Плюс, Вы не должны будете использовать sudo
больше. Плюс, супер легко установить, таким образом, необходимо сделать это!
Иногда я получаю сообщение как это, работая под sudo
...
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Что это даже означает?
Проблема состоит в том, что это не может найти сделать команду. Это установлено автоматически при установке XCode. И по некоторым причинам, даже при том, что мне установили XCode, он не мог найти его. Я загрузил последнюю версию XCode и переустановил. Теперь, когда я работаю which make
это правильно возвращается /usr/bin/make
.
Используя Льва с новой версией XCode, загрузите ‘Инструменты командной строки для XCode’ от https://developer.apple.com/downloads.
Вот новый.
/Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/source.rb:352: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
Это не выглядит хорошим. Что я должен сделать для фиксации его?
Что-то, что я установил, в какой-то момент вовремя, изменило полномочия на моем /usr/local/bin
каталог (а также мой /usr/local
и /usr/local/mysql
каталоги). Возвращать их:
sudo chmod 755 /usr/local/bin
Наконец, я пытаюсь работать bundle install
на моих совершенно новых направляющих 3.0.0.beta4 приложение и я получаем эту ошибку:
Installing bcrypt-ruby (2.1.2) from .gem files at /Users/andrew/.bundle/ruby/1.8/cache with native extensions /Library/Ruby/Site/1.8/rubygems/installer.rb:483:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Gem files will remain installed in /Users/andrew/.bundle/ruby/1.8/gems/bcrypt-ruby-2.1.2 for inspection.
Results logged to /Users/andrew/.bundle/ruby/1.8/gems/bcrypt-ruby-2.1.2/ext/mri/gem_make.out
from /Library/Ruby/Site/1.8/rubygems/installer.rb:446:in `each'
from /Library/Ruby/Site/1.8/rubygems/installer.rb:446:in `build_extensions'
from /Library/Ruby/Site/1.8/rubygems/installer.rb:198:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/source.rb:170:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/installer.rb:34:in `run'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/spec_set.rb:12:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/spec_set.rb:12:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/installer.rb:21:in `run'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/installer.rb:6:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/cli.rb:91:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/task.rb:33:in `send'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/task.rb:33:in `run'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/invocation.rb:109:in `invoke'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/invocation.rb:116:in `call'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/invocation.rb:116:in `invoke'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor.rb:137:in `start'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/base.rb:378:in `start'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor.rb:124:in `start'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/bin/bundle:13
from /usr/bin/bundle:19:in `load'
from /usr/bin/bundle:19
Это похоже bcrypt-ruby
своего рода зависимость, которую это пытается установить. Таким образом, как я заставляю это работать? Как я могу знать причину, которую это приводит к сбою?
Это было зафиксировано путем переустановки XCode.
Извините за подробный перечень, но я действительно хочу избавиться от всех этих проблем!
Заранее спасибо!
Это было бы лучше как отдельные вопросы, как я могу только ответить на некоторых.
sudo
- На OS X драгоценные камни установлены в каталоге под /Library
. Что-либо здесь совместно используется всеми пользователями на Mac, и так смочь записать в него Вы должны базироваться доступ, который является тем, что sudo дает Вам.
Вы видите команды без sudo, когда или люди объясняют вещи быстро, поскольку они ожидают, что люди будут знать, когда использовать sudo или если у них есть рубин установки для установки в пользовательском каталоге согласно документации Ruby
и 4.: Не Может найти заголовочные файлы для рубина.
Я подозреваю, что Вы не установили XCode, инструменты разработчика Apple. Они находятся на Вашем DVD OS X или могут быть загружены с Apple или App Store, если Вы используете OS X Lion.
/usr/local/bin
- это плохо.
Выполненный /Applications/Utilities/Disk Utility.app
, выберите загрузочный диск и восстановите полномочия.
Я предлагаю установить Кормушку Версии Ruby, и Вы не должны волноваться о проблемах sudo и можете переключиться легко между различными рубиновыми версиями и наборами драгоценного камня.