Ответ 1
Решение, упомянутое DKebler, также не помогло мне, все равно получило ту же ошибку и журнал отладки.
Я тоже должен был понизиться.
Командные линии
sudo npm cache clean -f
sudo n 8.11.2
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
os: Ubuntu 18.04 LTS
графика: AMD® Juniper
процессор: процессор Intel® Core ™ i7 960 @3,20 ГГц × 8
Тип os: 64-бит
Решение, упомянутое DKebler, также не помогло мне, все равно получило ту же ошибку и журнал отладки.
Я тоже должен был понизиться.
Командные линии
sudo npm cache clean -f
sudo n 8.11.2
потому что, когда я пишу этот ответ, узел 10 не совсем стабилен. Так что лучше придерживайтесь узла 8. Для этого вы можете понизить до 8.11.3, используя
sudo n 8.11.3
то вы можете легко установить модули npm.
Я предполагаю, что это несовместимость между npm v5 и node v10. Чтобы решить эту проблему, я отказался от узла до версии v9, обновил npm до v6, а затем обновил узел до v10:
n 9.10.1
npm i -g npm
n stable
Переустановка npm - упомянутая в руководстве по установке - работала для меня.
$ curl -0 -L https://npmjs.com/install.sh | sudo sh
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
Это проблема версий. npm 6.1.0 → узел 10.2. *
попробуйте n 10.2.1
В моей локальной среде работает следующее.
Первый узел установки и старой версии.
sudo n 8.11.3
А затем обновите npm.
sudo npm я -g npm
Теперь вы обновляете свой узел, все работает нормально.
sudo n 10.12.0
Решение для платформы Windows
Установите узел снова (используйте другую папку установки, например "C:\Program Files\nodejs-2")
Корневой причиной является узел и nvm, установленные в одной папке установки.
Вы должны понизить версию узла до последней стабильной версии, т.е. 8.11.2
потому что последняя версия узла еще не совместима со всеми модулями npm.
Я просто столкнулся с этой ошибкой при попытке установить экспресс через npm. Моим простым решением было понизить узел до стабильной версии. Если у вас есть "n", менеджер версий узлов, это можно сделать с помощью команды:
n stable
Надеюсь, это поможет! Я настоятельно рекомендую "n", если вы еще не использовали его раньше. Это облегчает жизнь :)
Я исправил это с помощью:
npm cache clean -f
node
до последней версии: nvm install <version>
npm
до последней версии: npm i -g npm
rm -rf node_modules
npm install
Как правило, лучший способ исправить это:
rm -R/usr/local/lib/node_modules/npm и переустановить Node.js.
Моя рекомендация устанавливается каждый раз, когда Node.js из исходного кода (да, запустите make && make install). Если вы используете Debian/Ubuntu, помните, что сначала установите build-essential
$ 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
С уважением.
Использовать sudo при переключении версии узла с n пример sudo n 10.4.1
Я смог исправить проблему, запустив [email protected]
Это связано с политикой сетевой безопасности компании
Решение для платформы Windows:
В моем случае на компьютере была установлена win7, и по ошибке была установлена более новая версия nodejs.
Для решения этой проблемы я сделал:
Вот что я сделал, и это сработало!
Если вы используете ОС Windows, возможно, причина в том, что имя вашей установленной папки, которое выглядит как "C:\Program Files", содержит пробел. Между "Program" и "Files" есть пробел. Решением является установка его в " C:\ProgramFiles".
Надеюсь помочь вам.