#ruby-on-rails #ruby #rvm #macos-sierra
#ruby-on-rails #ruby #rvm #macos-sierra
Вопрос:
Я только что обновил свой macOS до Sierra и пытаюсь его настроить. При попытке использовать rvm для установки ruby я получаю эту очень странную ошибку:
__rvm_detect_max_threads:cd:21: string not in pwd: /Users/sunday/workspace/contributions
У меня есть только одна папка в каталоге /workspace/contributions
, и, не зная, в чем ошибка, я попытался удалить /workspace/contributions
, но ошибка по-прежнему сохраняется.
При использовании этой --debug
опции ниже приведена трассировка, которую я имею:
~ rvm reinstall --debug 2.2.0 --disable-binary
2.2.0 - reinstall
ruby-2.2.0 - #already removed src/ruby-2.2.0
ruby-2.2.0 - #already removed rubies/ruby-2.2.0
ruby-2.2.0 - #already removed src/ruby-2.2.0
ruby-2.2.0 - #already removed rubies/ruby-2.2.0
Free disk space 73467MB, required 440MB.
__rvm_setup_compile_environment_setup ruby-2.2.0
rvm_autolibs_flag=enable
__rvm_setup_compile_environment_movable_early ruby-2.2.0
__rvm_setup_compile_environment_system_early ruby-2.2.0
__rvm_setup_compile_environment_requirements ruby-2.2.0
Checking requirements for osx.
requirements code for osx loaded
requirements lib type set to osx_brew
brew seems to be writable
Found required packages: autoconf, automake, libtool, pkg-config, libyaml, readline, libksba, openssl.
PATH=/usr/local/opt/pkg-config/bin:/usr/local/opt/libtool/bin:/usr/local/opt/automake/bin:/usr/local/opt/autoconf/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/sunday/.rvm/bin
rvm_configure_flags =( --with-opt-dir=/usr/local/opt/libyaml )
rvm_configure_flags =( --with-opt-dir=/usr/local/opt/readline )
rvm_configure_flags =( --with-opt-dir=/usr/local/opt/libksba )
rvm_configure_flags =( --with-opt-dir=/usr/local/opt/openssl )
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
__rvm_setup_compile_environment_movable ruby-2.2.0
__rvm_setup_compile_environment_parse_name ruby-2.2.0
__rvm_setup_compile_environment_system ruby-2.2.0
__rvm_setup_compile_environment_architectures ruby-2.2.0
rvm_architectures(0):.
__rvm_setup_compile_environment_gcc47plus ruby-2.2.0
__rvm_setup_compile_environment_bison ruby-2.2.0
__rvm_setup_compile_environment_flags_docs ruby-2.2.0
__rvm_setup_compile_environment_flags_shared_static ruby-2.2.0
__rvm_setup_compile_environment_flags_threads ruby-2.2.0
__rvm_detect_max_threads:cd:21: string not in pwd: /Users/sunday/workspace/contributions
__rvm_rm_rf already gone: /Users/sunday/.rvm/tmp/6618*
➜ ~ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
➜ ~
Это также происходит, когда я пытаюсь использовать install
вместо reinstall
.
Что здесь может происходить, и как я могу решить эту проблему для установки ruby на моем компьютере?
Комментарии:
1. попробуйте вместо этого: $ rvm становится стабильным, а затем $ rvm переустановите 2.2.0
2. Также запустите $ rvm info и опубликуйте o / p здесь
3. все та же проблема.
4. смотрите Мои Ответы ниже, а также публикуйте o / p информации о rvm
Ответ №1:
➜ ~ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
Удалите эту версию ruby от darwin, которая используется по умолчанию в osx.
Удалить rvm
rvm implode
Установите rvm согласно документации
curl -sSL https://get.rvm.io | bash -s stable
Перезапустите терминал и убедитесь, что rvm установлен правильно.
rvm notes
Не удалось установить версии ruby, как требуется, с помощью rvm.
rvm install 2.2.0
Комментарии:
1.
➜ ~ ruby -v ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
Как удалить версию darwin? Я пытался выполнить сборку и переустановку, но пока ничего не меняется, итак, как я могу удалить версию darwin по умолчанию?2. rm -rf ~/.rvm удалите папку rvm. он должен удалить рубины
Ответ №2:
Следуя этой теме https://github.com/rvm/rvm/issues/3686 на Github я смог установить его с помощью команды:
rvm install ruby-2.3.1 --disable-binary -j 8
Согласно комментарию:
Похоже, что функция «определить количество потоков процессора» по какой-то причине нарушает ее на моем компьютере.