npm install -g firebase-tools npm ERR! asyncWrite не является функцией npm ERR! pna.nextTick не является функцией
npm ERR! Полный журнал этого запуска можно найти в: npm ERR! /home/developer/.npm/_logs/2018-05-30T05_42_20_569Z-debug.log
данные .log
/home/developer/.npm/_logs/2018-05-30T05_42_20_569Z-debug.log0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli '/usr/local/bin/npm',
1 verbose cli 'install',
1 verbose cli '-g',
1 verbose cli 'firebase-tools' ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session 4ca1ad6ed9bde18f
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 verbose stack TypeError: asyncWrite is not a function
7 verbose stack at onwrite (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:480:7)
7 verbose stack at WritableState.onwrite (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:180:5)
7 verbose stack at WriteStream.to [as _worker] (/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/cache.js:154:13)
7 verbose stack at WriteStream._write (/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/flush-write-stream/index.js:35:13)
7 verbose stack at doWrite (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:428:64)
7 verbose stack at writeOrBuffer (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:417:5)
7 verbose stack at WriteStream.Writable.write (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:334:11)
7 verbose stack at WriteStream.to [as _worker] (/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/cache.js:171:25)
7 verbose stack at WriteStream._write (/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/flush-write-stream/index.js:35:13)
7 verbose stack at doWrite (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:428:64)
7 verbose stack at writeOrBuffer (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:417:5)
7 verbose stack at WriteStream.Writable.write (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:334:11)
7 verbose stack at WriteStream.to [as _worker] (/usr/local/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/cache.js:182:19)
7 verbose stack at WriteStream._write (/usr/local/lib/node_modules/npm/node_modules/mississippi/node_modules/flush-write-stream/index.js:35:13)
7 verbose stack at doWrite (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:428:64)
7 verbose stack at writeOrBuffer (/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:417:5)
8 verbose cwd /home/developer/Development/host2
9 verbose Linux 4.15.0-22-generic
10 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "firebase-tools"
11 verbose node v10.3.0
12 verbose npm v6.1.0
13 error asyncWrite is not a function
14 verbose exit [ 1, true ]
npm -v: 6.1.0
узел -v: v10.3.0
ОС: Ubuntu 18.04 LTS
графика: AMD® Juniper
процессор: Intel® Core ™ i7 CPU 960 @ 3,20 ГГц × 8
тип ОС: 64-разрядная
Нашел решение этой и т.п. ошибки (pna.nextTick) в нескольких недавних проблемах с github. Решение состоит в том, чтобы вручную удалить папку node_modules, а затем переустановить все зависимости с нуля. Нет необходимости переходить на более раннюю версию. Я использую node 10.3 и npm 6+. Или используйте пряжу, которая не вызывает эту ошибку, но лучше просто очистить node_modules. Это как-то связано с плохим сглаживанием npm





Вам необходимо понизить версию узла до последней стабильной версии, то есть 8.11.2.
потому что последняя версия узла еще не совместима со всеми модулями npm.
см. мой комментарий выше. Переход на более раннюю версию не требуется. См. Эту проблему npm github github.com/npm/npm/issues/20848
Решение, упомянутое DKebler, у меня тоже не сработало, по-прежнему были те же ошибки и журнал отладки.
Мне также пришлось понизить рейтинг.
Командные строки
sudo npm cache clean -f
sudo n 8.11.2
Это верно и для меня. У меня есть безупречная пустая папка без node_modules, но npm install express продолжает давать сбой. Перешли на версию 8.11.2, и теперь наш сервер снова работает. Спасибо :)
Просто столкнулся с этой ошибкой при попытке установить экспресс через npm. Мое простое решение заключалось в том, чтобы понизить версию узла до стабильной версии. Если у вас есть "n", менеджер версий узла, это можно сделать с помощью команды:
n stable
Надеюсь, это поможет! Я настоятельно рекомендую "n", если вы не использовали его раньше. Облегчает жизнь :)
Это проблема версий. нпм 6.1.0 → узел 10.2. *
попробуйте n 10.2.1
Я исправил это:
npm cache clean -fnode до последней версии: nvm install <version>npm до последней версии: npm i -g npmrm -rf node_modulesnpm installЯ предполагаю, что это несовместимость между npm v5 и node v10. Чтобы решить эту проблему, я понизил версию узла до v9, обновил npm до v6, а затем обновил узел до v10:
n 9.10.1
npm i -g npm
n stable
это потому, что, когда я пишу этот ответ, узел 10 не совсем стабилен. Так что лучше придерживаться узла 8. для этого вы можете перейти на 8.11.3, используя
sudo n 8.11.3
тогда вы можете легко установить модули npm.
Спасибо, что сработало. Странно (или плохо), что это все еще проблема в сентябре
Используйте sudo при переключении версии узла с n
пример sudo n 10.4.1
Мне удалось исправить проблему, принудительно установив [email protected].
Обычно лучший способ исправить это:
rm -R / usr / local / lib / node_modules / npm и переустановите Node.js.
Я рекомендую устанавливать Node.js каждый раз из исходного кода (да, запускать make && make install). Если вы используете Debian / Ubuntu, не забудьте сначала установить необходимое для сборки
$ sudo apt-get install build-essential
$ wget https://nodejs.org/dist/v10.6.0/node-v10.6.0.tar.gz
$ tar -zxvf node-v10.6.0.tar.gz
$ cd node-v10.6.0
$ make
$ sudo make install
С Уважением.
Переустановка npm - упоминается в руководстве по установке - у меня сработала.
$ curl -0 -L https://npmjs.com/install.sh | sudo sh
Следующее работает в моей локальной среде.
Сначала установите и старую версию узла.
sudo n 8.11.3
А затем обновите npm.
sudo npm i -g npm
Теперь вы обновляете свой узел, все работает нормально.
sudo n 10.12.0
Решение для платформы windows
Установите узел снова (используйте другую папку для установки, например "C: \ Program Files \ nodejs-2")
Основная причина - узел и nvm установлены в одной папке установки.
Хорошо помогло ... сначала я переустановил версию 10 поверх папки версии 9. Но скорее всего там остался какой-то беспорядок. После деинсталляции и удаления оставшихся и дальнейшей переустановки все, похоже, работает должным образом. Спасибо!
Step0: запишите, где в настоящее время установлен NodeJS (если он установлен где-нибудь, кроме C: \ Program Files).
Я пробовал это, используя ту же папку установки (c: \ Program Files \ nodejs), и это также решило проблему, на случай, если кто-то еще захочет попробовать.
Это связано с политикой сетевой безопасности компании.
Это ответ для Windows ... В вопросе: "os: Ubuntu" ... тем не менее, спасибо всем пользователям Windows.
n был обновлен в v2.1.12 для решения этой проблемы. Раньше новый npm просто копировался в существующую папку. Это могло вызвать проблемы, когда макет node_modules изменился, как это произошло в узле 10.
Удаление npm и переустановка решит проблему с npm. Обновление n предотвратит повторное возникновение проблемы при переключении версий с помощью n.
https://github.com/tj/n/issues/508#issuecomment-423933394
например
$ rm /usr/local/bin/node
$ rm -rf /usr/local/lib/node_modules/npm
$ n latest
$ npm install -g n
/usr/local/bin/n -> /usr/local/lib/node_modules/n/bin/n
+ [email protected]
updated 1 package in 0.466s
Решение для платформы Windows:
В моем случае на компьютере была Win7 и по ошибке была установлена более новая версия nodejs.
Чтобы решить эту проблему, я сделал:
Я так и сделал, и это сработало!
Попробуйте запустить
npm cache clean, а затем попробуйте установить его снова.