43

npm install -g firebase-tools npm ERR! asyncWrite is not a function npm ERR! pna.nextTick is not a function

npm ERR! A complete log of this run can be found in: npm ERR! /home/developer/.npm/_logs/2018-05-30T05_42_20_569Z-debug.log

.log data

/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 npm@6.1.0
3 info using node@v10.3.0
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
node -v :v10.3.0
os :Ubuntu 18.04 LTS
graphics :AMD® Juniper
processor:Intel® Core™ i7 CPU 960 @ 3.20GHz × 8
os type : 64-bit

  • Try running `npm cache clean` and then try installing it again. – Neeraj Wadhwa May 30 '18 at 06:10
  • 2
    Found the solution for this error and the like (pna.nextTick) in several recent github issues. The solution is just to manually delete the node_modules folder and then reinstall all the dependencies from scratch. No need to downgrade I am running node 10.3 and npm 6+. Or use yarn which doesn't throw this error, but better to just scrub node_modules. It's something to do with bad flattening by npm – DKebler May 31 '18 at 23:17

16 Answers16

25

The solution mentioned by DKebler did not work for me either, still got the same error and debug log.

I had also to downgrade.

Command Lines

sudo npm cache clean -f

sudo n 8.11.2
Stev
  • 416
  • 4
  • 11
  • That's true for me as well. I have a pristine empty folder, with no node_modules, but `npm install express` keeps failing. Downgraded to 8.11.2 and now our server works again. Thanks :) – endavid Jun 01 '18 at 16:26
9

n was updated in v2.1.12 to address this issue. Previously, the new npm was just being copied over the existing folder. This could cause problems when the layout of the node_modules changed as happened in node 10.

Deleting npm and reinstalling will fix the npm issue. Upgrading n will prevent the issue from happening again when switching versions using n.

https://github.com/tj/n/issues/508#issuecomment-423933394

e.g.

$ 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
+ n@2.1.12
updated 1 package in 0.466s
shadowspawn
  • 3,039
  • 22
  • 26
8

I am guessing it is an incompatibility between npm v5 and node v10. To solve this I downgraded node to v9, upgraded npm to v6, then upgraded node to v10:

n 9.10.1
npm i -g npm
n stable
8

that's because, when I'm writing this answer, node 10 is not quite stable. So better stick to node 8. for that you can downgrade to 8.11.3 using

sudo n 8.11.3

then you can easily install npm modules.

Mudassirkhan
  • 429
  • 4
  • 7
7

Reinstalling npm -- mentioned in n installation guide -- worked for me.

$ curl -0 -L https://npmjs.com/install.sh | sudo sh
Ohgyun Ahn
  • 777
  • 1
  • 10
  • 16
7

Solution for windows platform

  1. Uninstall Node
  2. Delete folder from programfiles if exist (C:\Program Files\nodejs)
  3. Delete npm's data folder: C:\Users{Your uername}\AppData\Roaming\npm

Install node Again(use different installation folder like "C:\Program Files\nodejs-2")

Root cause is node and nvm installed in same installation folder.

Stig Perez
  • 3,595
  • 4
  • 23
  • 36
prinujith kj
  • 79
  • 1
  • 2
  • Helped nice ... first i have over-installed version 10 over version 9 folder. But most probably some mess left there. After uninstall and delete remaining and further reinstallation all seems to be working as expected. Thank you! – Reddy SK Dec 06 '18 at 13:07
  • Step0: Note down where NodeJS is currently installed (if it is installed somewhere other than C:\Program Files). – KrishPrabakar Apr 08 '19 at 08:08
  • I tried this using the same installation folder (c:\Program Files\nodejs) and it also solved the issue, in case anyone else wanted to try it – Stig Perez Aug 19 '20 at 08:13
5

It's versions problem. npm 6.1.0node 10.2.*

try n 10.2.1

Guja1501
  • 999
  • 7
  • 16
4
  1. Install an old version node, which can run success.
  2. Update your npm (global).
  3. Install the high version node.

The following is worked in my local environment.

First install and old version node.

sudo n 8.11.3

And then update npm.

sudo npm i -g npm

Now, you update your node, everything work fine.

sudo n 10.12.0

ivoputzer
  • 6,427
  • 1
  • 25
  • 43
Galois.Z
  • 71
  • 3
3

You have to downgrade the node version to latest stable version i.e 8.11.2 because latest version of node is not compatible yet with all npm modules.

  • see my comment above. Downgrading is not necessary. See this npm github issue https://github.com/npm/npm/issues/20848 – DKebler May 31 '18 at 23:19
1

Just ran into this error myself when trying to install express via npm. My simple solution was to downgrade node to the stable release. If you have "n", the node version manager, it can be done so with the command:

n stable

Hopefully this helps! I highly recommend "n" if you haven't used it before. It makes life easier :)

mster
  • 850
  • 9
  • 10
1

I've fixed this by:

  1. Cleaning cache npm cache clean -f
  2. Upgrading node to latest version: nvm install <version>
  3. Upgrading npm to latest version: npm i -g npm
  4. Removing dependencies: rm -rf node_modules
  5. Installing dependencies again: npm install
Arkadiusz Wieczorek
  • 452
  • 1
  • 5
  • 15
1

Usually, the best way for fix it is:

rm -R /usr/local/lib/node_modules/npm and reinstall Node.js.

My recommendation is install every time Node.js from source code (yes, running make && make install). If you using Debian/Ubuntu, remember first install 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

Regards.

0

Use sudo when switching node version with n example sudo n 10.4.1

0

I was able to fix the issue by forcing readable-stream@2.3.0.

jmilloy
  • 7,875
  • 11
  • 53
  • 86
0

This is due to company network security policy

Work Around

  1. Go to https://codeload.github.com/jashkenas/underscore/zip/master and download the zip file
  2. Create underscore folder on C:\Users{YourUsername}\AppData\Roaming\npm\node_modules\underscore if you want your packge to be global
  3. Extract to folder
  4. Add "dependencies": { "underscore": "^{downloadedVersionNumber}" on you package.json file
  5. create a node_module>underscore and copy the Extract to folder

user2840677
  • 11
  • 1
  • 2
  • This is an answer for windows ... In the question: "os: Ubuntu" ... but thanks for all Windows users nevertheless. – quant Nov 15 '18 at 10:54
0

Solution for windows platform:

In my case the computer had win7 and by mistake installed a newer version of nodejs.

To solve this problem I did:

  • Starting with deleting nodesjs windows variables (system properties -> the advance tab)
  • Uninstal nodejs
  • Find the nodejs folder under program and delete it (tip: do it using cmd for faster results)
  • Enter regedit (press and hold "windows key" and letter "R" in your keyboard then type "regedit" ... Be carefull with regedit!!
  • Once regedit is open .. Edit menu then click on find
  • In the dialog box type "nodejs"
  • If it finds a key .. delete it. Press "F3" to find the next one and keep going until you delete them all.
  • In case there is one not allowing you to delete you need to enter in "save mode or with admin rights" to be able to delete those keys.
  • After that restart the computer, reinstall nodejs the newest version. It should be working fine.

That's what I did and it worked!

Domingo
  • 165
  • 1
  • 4