Не могу заварить установочный узел

Я пытаюсь обновить свой узел с помощью homebrew, но столкнулся с проблемой, потому что я думаю, что я пытался загрузить через веб-сайт. Я очень новичок в терминале. Я пытался найти ответы, но многие люди говорят, что вы можете просто удалить непаренные файлы заголовков. Я не уверен, как это сделать. но по какой-то причине, когда я пытаюсь установить узел brew, он говорит, что шаг brew link не был успешно завершен.

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

[SICNARF@WOPR ~]$ brew install node
==> Downloading https://homebrew.bintray.com/bottles/node-0.12.7.yosemite.bottle.tar.gz
Already downloaded: /Library/Caches/Homebrew/node-0.12.7.yosemite.bottle.tar.gz
==> Pouring node-0.12.7.yosemite.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink include/node/android-ifaddrs.h
/usr/local/include/node is not writable.

You can try again using:
  brew link node
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall node`
==> Summary
  /usr/local/Cellar/node/0.12.7: 2726 files, 31M

это то, что происходит, когда я завариваю доктора

[SICNARF@WOPR ~]$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
    /usr/local/include/node/ares.h
    /usr/local/include/node/ares_version.h
    /usr/local/include/node/libplatform/libplatform.h
    /usr/local/include/node/nameser.h
    /usr/local/include/node/node.h
    /usr/local/include/node/node_buffer.h
    /usr/local/include/node/node_internals.h
    /usr/local/include/node/node_object_wrap.h
    /usr/local/include/node/node_version.h
    /usr/local/include/node/openssl/aes.h
    /usr/local/include/node/openssl/asn1.h
    /usr/local/include/node/openssl/asn1_mac.h
    /usr/local/include/node/openssl/asn1t.h
    /usr/local/include/node/openssl/bio.h
    /usr/local/include/node/openssl/blowfish.h
    /usr/local/include/node/openssl/bn.h
    /usr/local/include/node/openssl/buffer.h
    /usr/local/include/node/openssl/camellia.h
    /usr/local/include/node/openssl/cast.h
    /usr/local/include/node/openssl/cmac.h
    /usr/local/include/node/openssl/cms.h
    /usr/local/include/node/openssl/comp.h
    /usr/local/include/node/openssl/conf.h
    /usr/local/include/node/openssl/conf_api.h
    /usr/local/include/node/openssl/crypto.h
    /usr/local/include/node/openssl/des.h
    /usr/local/include/node/openssl/des_old.h
    /usr/local/include/node/openssl/dh.h
    /usr/local/include/node/openssl/dsa.h
    /usr/local/include/node/openssl/dso.h
    /usr/local/include/node/openssl/dtls1.h
    /usr/local/include/node/openssl/e_os2.h
    /usr/local/include/node/openssl/ebcdic.h
    /usr/local/include/node/openssl/ec.h
    /usr/local/include/node/openssl/ecdh.h
    /usr/local/include/node/openssl/ecdsa.h
    /usr/local/include/node/openssl/engine.h
    /usr/local/include/node/openssl/err.h
    /usr/local/include/node/openssl/evp.h
    /usr/local/include/node/openssl/hmac.h
    /usr/local/include/node/openssl/idea.h
    /usr/local/include/node/openssl/krb5_asn.h
    /usr/local/include/node/openssl/kssl.h
    /usr/local/include/node/openssl/lhash.h
    /usr/local/include/node/openssl/md4.h
    /usr/local/include/node/openssl/md5.h
    /usr/local/include/node/openssl/mdc2.h
    /usr/local/include/node/openssl/modes.h
    /usr/local/include/node/openssl/obj_mac.h
    /usr/local/include/node/openssl/objects.h
    /usr/local/include/node/openssl/ocsp.h
    /usr/local/include/node/openssl/opensslconf.h
    /usr/local/include/node/openssl/opensslv.h
    /usr/local/include/node/openssl/ossl_typ.h
    /usr/local/include/node/openssl/pem.h
    /usr/local/include/node/openssl/pem2.h
    /usr/local/include/node/openssl/pkcs12.h
    /usr/local/include/node/openssl/pkcs7.h
    /usr/local/include/node/openssl/pqueue.h
    /usr/local/include/node/openssl/rand.h
    /usr/local/include/node/openssl/rc2.h
    /usr/local/include/node/openssl/rc4.h
    /usr/local/include/node/openssl/ripemd.h
    /usr/local/include/node/openssl/rsa.h
    /usr/local/include/node/openssl/safestack.h
    /usr/local/include/node/openssl/seed.h
    /usr/local/include/node/openssl/sha.h
    /usr/local/include/node/openssl/srp.h
    /usr/local/include/node/openssl/srtp.h
    /usr/local/include/node/openssl/ssl.h
    /usr/local/include/node/openssl/ssl2.h
    /usr/local/include/node/openssl/ssl23.h
    /usr/local/include/node/openssl/ssl3.h
    /usr/local/include/node/openssl/stack.h
    /usr/local/include/node/openssl/symhacks.h
    /usr/local/include/node/openssl/tls1.h
    /usr/local/include/node/openssl/ts.h
    /usr/local/include/node/openssl/txt_db.h
    /usr/local/include/node/openssl/ui.h
    /usr/local/include/node/openssl/ui_compat.h
    /usr/local/include/node/openssl/whrlpool.h
    /usr/local/include/node/openssl/x509.h
    /usr/local/include/node/openssl/x509_vfy.h
    /usr/local/include/node/openssl/x509v3.h
    /usr/local/include/node/pthread-fixes.h
    /usr/local/include/node/smalloc.h
    /usr/local/include/node/stdint-msvc2008.h
    /usr/local/include/node/tree.h
    /usr/local/include/node/uv-aix.h
    /usr/local/include/node/uv-bsd.h
    /usr/local/include/node/uv-darwin.h
    /usr/local/include/node/uv-errno.h
    /usr/local/include/node/uv-linux.h
    /usr/local/include/node/uv-sunos.h
    /usr/local/include/node/uv-threadpool.h
    /usr/local/include/node/uv-unix.h
    /usr/local/include/node/uv-version.h
    /usr/local/include/node/uv-win.h
    /usr/local/include/node/uv.h
    /usr/local/include/node/v8-debug.h
    /usr/local/include/node/v8-platform.h
    /usr/local/include/node/v8-profiler.h
    /usr/local/include/node/v8-testing.h
    /usr/local/include/node/v8-util.h
    /usr/local/include/node/v8.h
    /usr/local/include/node/v8config.h
    /usr/local/include/node/v8stdint.h
    /usr/local/include/node/zconf.h
    /usr/local/include/node/zlib.h

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
[SICNARF@WOPR ~]$ brew link
This command requires a keg argument
[SICNARF@WOPR ~]$ brew link node
Linking /usr/local/Cellar/node/0.12.7... 
Error: Could not symlink include/node/android-ifaddrs.h
/usr/local/include/node is not writable.

13 ответов

brew link --overwrite node

Вышеуказанная команда должна быть выполнена после следующих трех команд. И это решит проблему.

sudo chown -R `whoami`:admin /usr/local/include/node
sudo chown -R `whoami`:admin /usr/local/bin
sudo chown -R `whoami`:admin /usr/local/share

Я столкнулся с этой же проблемой при тех же обстоятельствах. Мне удалось получить версию brew для успешной установки:

  1. Бежать brew install node
  2. Запишите модуль, вызывающий проблему, и удалите его. В вашем случае это будет /usr/local/include/node
  3. Удалить - brew uninstall node
  4. Переустановить - brew install node

Мне пришлось повторить этот процесс несколько раз для каждого остающегося проблемного каталога (примерно 3 разных в действительности), и в итоге установка прошла без проблем.

Я столкнулся с этой проблемой на новом MacBook Pro в Mac OS High Sierra. Я обнаружил, что brew пытается использовать каталоги с именами include и lib в / usr / local, которых там не было. Поскольку root владеет / usr, мне пришлось сделать это вручную - убедившись, что whoami владелец соответствует одноранговым каталогам в /usr/local:

sudo mkdir /usr/local/include
chown `whoami`:admin /usr/local/include 
sudo mkdir /usr/local/lib
chown `whoami`:admin /usr/local/lib

И затем, чтобы соответствовать другим каталогам в / usr / local, я сделал:

chmod 775 /usr/local/include
chmod 775 /usr/local/lib

тогда сработало следующее:

brew uninstall node 
brew install node

Вам нужно сделать /usr/local/bin а также /usr/local/share доступен для записи. Я использовал этот ответ, чтобы добиться этого. Ниже приведен ключевой совет в ответе в случае разрыва ссылки:

sudo chown -R `whoami`:admin /usr/local/bin
sudo chown -R `whoami`:admin /usr/local/share

brew postinstall node или brew link --overwrite node похоже, не помогает.

После нескольких раундов brew uninstall node а также brew install node следующие каталоги и файлы, вызывающие нарушение:

sudo rm -r /usr/local/include/node
sudo rm -r /usr/local/share/doc/node
sudo rm -r /usr/local/lib/node_modules
sudo rm /usr/local/lib/dtrace/node.d
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/share/systemtap/tapset/node.stp

После удаления вредоносных файлов brew сделает за вас все необходимые ссылки с разрешениями.

Вероятные разрешения были установлены как root:wheel из-за прошлой установки с sudo или, возможно, ручная установка и т. д.

У меня была такая же ошибка:

Linking /usr/local/Cellar/node/11.10.0...
Error: Could not symlink include/node /usr/local/include is not writable.

Решение:

$ sudo mkdir /usr/local/include
$ sudo chown -R $(whoami) $(brew --prefix)/*
$ brew link node

Связывание /usr/local/Cellar/node/11.10.0... создано 7 символических ссылок

$ node -v => v11.10.0

$ npm -v => 6.7.0

Для тех, кто работает с высокими sierra на MacOS:

Я пытался дать разрешения, используя chown Команда и удаление, а затем переустановка узла с помощью homebrew, но ничего не получалось.

Я просто зашел на этот сайт https://nodejs.org/en/download/ и скачал 64-битный macOS .pkg, и он отлично работал. Я проверил это, просто введя команду node в терминале.

изображение какой версии узла скачать для Mac

У меня была очень похожая проблема со ссылками. Я не мог заставить его работать. Я попытался выполнить chmod / usr / local / include / node, чтобы я мог написать ссылку на него, но столкнулся с другой ошибкой. В качестве окончательного решения я просто переустановил узел с https://nodejs.org/download/

У меня снова есть рабочий узел! Я бы с удовольствием поработал с brew, но это избавило меня от лишних хлопот, просто используя установщик pkg с сайта. Я знаю, что это может быть не то решение, которое вы ищете, но я просто хотел поделиться своим опытом с той же проблемой. Я надеюсь, что это помогает!

brew link --overwrite node

Ошибка: не удалось символическую ссылку (...)

/ USR / ххх

sudo chown -R 'whoami?':admin xxx
brew link --overwrite node

Промыть и повторить

Для меня я должен был запустить врача, который показал мне, что у меня нет прав на запись и мне нужно было бежать sudo chown -R $(whoami) /usr/local/bin /usr/local/share /usr/local/share/man чтобы исправить проблему.

Я предлагаю бежать brew doctor чтобы увидеть, может ли он дать некоторые советы по этому вопросу

Удалите папку с ошибкой или файл вручную и "brew uninstall node && brew install node" запустите эту команду

Вы должны делать этот процесс, пока все папки с ошибками и файлы не будут удалены.

Тогда узел будет связан.

Если вы попытаетесь brew link node и он говорит что-то вроде:

Ошибка: не удалось создать символическую ссылку include/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 

Чтобы обновить версию Node.js с помощью Homebrew, выполните следующие действия:

  1. Обновить Homebrew : убедитесь, что Homebrew обновлен, выполнив следующую команду:

заварить обновление

  1. Список установленных версий . Проверьте установленные на данный момент версии Node.js, используя:

узел списка пивоварения --versions

  1. Удалить текущую версию . Чтобы обновить, удалите существующую версию Node.js:

узел удаления Brew

  1. Установите последнюю версию : установите последнюю версию Node.js с помощью Homebrew:

узел установки Brew

  1. Проверить новую версию : проверьте, прошло ли обновление успешно, подтвердив новые версии Node.js и npm:

узел -v НПМ -v

Эти шаги помогут вам обновить Node.js с помощью Homebrew. Если вам нужна дополнительная информация или помощь, вы можете обратиться к официальной документации Homebrew: https://brew.sh/

Другие вопросы по тегам