Домашняя версия npm: не может символическая ссылка
Итак, я сделал ошибку, пытаясь избавиться от всех зависимостей sudo. Я загрузил npm в виде пакета с сайта и выполнил ручную/глобальную установку. Но мне казалось, что мне всегда нужно работать с sudo... поэтому я попытался удалить и запустить с homebrew.
Теперь я не могу получить node или npm даже для запуска... Думаю, мне нужно связать ссылку brew, но я получаю эту ошибку:
Could not symlink share/doc/node/gdbinit
Target /usr/local/share/doc/node/gdbinit
already exists. You may want to remove it:
rm '/usr/local/share/doc/node/gdbinit'
Я попытался удалить это:
И я получил разрешение на отказ.
Я попытался запустить черновик brew.
Я попытался удалить, а затем переустановить, используя следующие шаги:
$ brew uninstall npm
$ brew uninstall node
$ npm uninstall npm -g
$ sudo rm -rf /usr/local/lib/node_module
Ошибка: шаг ссылки < brew не завершен успешно
Я запускаю Йосемити 10.10.5. У меня установлена git версия 2.6.0. Мой доморощенный обновляется. Доктор brew дает мне это предупреждение:
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
node
Не уверен, куда идти отсюда. Я пытаюсь потерять свою зависимость от CodeKit и запустить gulp.
Ответы
Ответ 1
Похоже, что несколько файлов и каталогов в /usr/local
теперь принадлежат пользователю root
, так как вы выполнили пару шагов, используя sudo
. Чтобы избавиться от них, верните право собственности на все файлы и каталоги в /usr/local
:
sudo chown -R $(whoami) $(brew --prefix)/*
Как только это будет сделано, снова запустите brew doctor
.
Подобные вопросы можно найти здесь:
Ответ 2
В моем случае я продолжал выполнять команду brew link node
и при каждом выполнении он продолжает удалять некоторые файлы. Я просто следовал инструкциям и продолжаю удалять их с помощью sudo
. Наконец, после 5 таких удалений, у меня есть связь.
![enter image description here]()
Ответ 3
Если вы попытаетесь brew link node
и он говорит что-то вроде:
Ошибка: не удалось включить символическую ссылку /node/openssl/archs/aix-gcc/asm/include/openssl/opensslconf.h Target/usr/local/include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslconf.h уже существует. Вы можете удалить это:
Попробуй это:
brew link --overwrite --dry-run node | xargs rm
brew link node