Нет прогресса при установке ruby ​​через macports.Как долго должно длиться это действие? - PullRequest
7 голосов
/ 22 марта 2011

Я нахожусь в процессе установки ruby, используя macports.Я ввел следующую команду в терминал:

sudo port install ruby

Терминал ответил, вернув несколько строк, которые указывали на действие, затем он просто перестал возвращать любые новые строки.Я набрал:

which ruby

и не получил ответа, поэтому я закрыл окно терминала и, следовательно, завершил процессы.

Я открыл новое окно терминала и повторно набрал исходную команду установкии теперь я получаю следующее сообщение:

Waiting for lock on /opt/local/var/macports/registry/.registry.lock

Как мне действовать дальше?Должен ли я просто подождать?Если да, то как долго?Будет ли терминал пытаться выполнить это действие дважды?Как я могу узнать, работает ли он?

Ответы [ 5 ]

7 голосов
/ 22 марта 2011

Более подходящая вещь для проверки, когда вы не видите прогресса, это активность вашей системы.

В Mac OS вы можете либо открыть «Монитор активности» и отсортировать по процессору, либо открыть терминал и набрать top -o cpu. Следите за тем, чтобы какое-то приложение показывало постоянную активность, особенно что-то с «портом» в названии.

Чтобы справиться с блокировкой ... шансы ДЕЙСТВИТЕЛЬНО хороши, она устарела, поскольку вы отрезаете ее в коленях, закрывая терминал, поэтому используйте sudo rm /opt/local/var/macports/registry/.registry.lock, чтобы удалить ее, и повторите попытку, если хотите.

Я буду рекомендовать RVM для установки новых версий Ruby. Это действительно удобно. Перед тем, как перейти к RVM, полностью прочитайте страницы «Установка» и «Rubygems», а после установки RVM введите rvm notes и следуйте инструкциям, которые он выдает.

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

1 голос
/ 23 декабря 2012

"Waiting for lock on /opt/local/var/macports/registry/.registry.lock" означает, что MacPorts уже работает и работает.Вы можете проверить любые запущенные процессы "порта" в Activity Monitor.Подождите, пока эти задачи не будут завершены (или прекратите их, если вам все равно, что они не завершатся), прежде чем пытаться делать другие вещи с MacPorts.

ps -A | grep tclsh, если вы не можете найти работающий процесс и убить его.

0 голосов
/ 22 февраля 2012

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

0 голосов
/ 22 марта 2011

Вот еще один голос за рвм. Если вы похожи на меня, и вы программируете на Mac, но развертываете на какой-то другой * nix, то вы можете убедиться, что у вас есть одна и та же версия Ruby (и Rails, и gems) для каждого, используя наборы гемов rvm.

Кроме того, вы можете легко переключаться между наборами драгоценных камней, так что если вы найдете камень, который вы не можете правильно использовать с Ruby 1.9.2, то вы можете переключиться на 1.8.7 или что-то подобное, пока вы пытаетесь понять это. из. Вещи, как это.

Насколько мне известно, вы можете сразу перейти на свой Mac (как и вы, не используя sudo) с rvm install 1.8.7 или rvm install 1.9.2. Затем убедитесь, что вы переключаетесь, чтобы использовать правильный rvm, и выберите тот, который вы хотите по умолчанию, и вы золотой. Если это не сработает, удалите его - все гемсеты будут установлены под вашим домашним каталогом в .rvm / *

Боль, с которой вы сейчас сталкиваетесь, всплывет, когда вы попытаетесь заставить системную версию ruby ​​Mac работать со всем, что вы пишете - RVM определенно проще, чем использование Ruby для Mac.

0 голосов
/ 22 марта 2011

Более поздний способ установки Ruby - через RVM . Не прямой ответ на ваш вопрос, но я очень рекомендую его.

...