npm install -g firebase-tools 错误的ERR! asyncWrite不是一个函数 错误的ERR! pna.nextTick不是函数
npm ERR!可以在以下位置找到此运行的完整日志: 错误的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 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
节点-v:v10.3.0
os:Ubuntu 18.04 LTS
图形:AMD®Duniper
处理器:英特尔®酷睿™i7 CPU 960 @ 3.20GHz×8
os类型:64位
答案 0 :(得分:24)
DKebler提到的解决方案对我来说也不起作用,仍然有相同的错误和调试日志。
我还要降级。
命令行
sudo npm cache clean -f
sudo n 8.11.2
答案 1 :(得分:8)
那是因为,当我编写此答案时,节点10不太稳定。因此最好坚持使用节点8。因为您可以使用
降级到8.11.3sudo n 8.11.3
然后您可以轻松安装npm模块。
答案 2 :(得分:7)
我猜这是npm v5和节点v10之间的不兼容。 为了解决这个问题,我将节点降级到v9,将npm升级到v6,然后将节点升级到v10:
n 9.10.1
npm i -g npm
n stable
答案 3 :(得分:6)
重新安装npm-mentioned in n installation guide-为我工作。
$ curl -0 -L https://npmjs.com/install.sh | sudo sh
答案 4 :(得分:5)
它的版本问题。 npm 6.1.0 →节点 10.2。*
尝试n 10.2.1
答案 5 :(得分:4)
n已在v2.1.12中更新,以解决此问题。以前,新的npm只是复制到现有文件夹上。当节点模块的布局更改为节点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
+ n@2.1.12
updated 1 package in 0.466s
答案 6 :(得分:4)
Windows平台解决方案
再次安装节点(使用其他安装文件夹,例如“ C:\ Program Files \ nodejs-2” )
根本原因是节点和nvm安装在同一安装文件夹中。
答案 7 :(得分:3)
您必须将节点版本降级到最新的稳定版本,即8.11.2
因为最新版本的节点与所有npm模块不兼容。
答案 8 :(得分:3)
以下内容在我的本地环境中有效。
首次安装和旧版本节点。
sudo n 8.11.3
然后更新npm。
sudo npm i -g npm
现在,您更新节点,一切正常。
sudo n 10.12.0
答案 9 :(得分:1)
尝试通过npm安装express时,我自己遇到了这个错误。我的简单解决方案是将节点降级到稳定版本。如果您有节点版本管理器“n”,则可以使用以下命令完成:
n stable
希望这有帮助!如果您之前没有使用过,我强烈推荐“n”。它让生活更轻松:)
答案 10 :(得分:1)
我通过以下方式解决了这个问题:
npm cache clean -f
node
升级到最新版本:n latest
npm
升级到最新版本:npm i -g npm
rm -rf node_modules
npm install
答案 11 :(得分:1)
通常,最好的解决方法是:
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
致谢。
答案 12 :(得分:0)
Windows平台解决方案:
在我的情况下,计算机装有win7,并且错误地安装了较新版本的nodejs。
为了解决这个问题,我做了:
这就是我所做的,并且有效!
答案 13 :(得分:0)
这是由于公司的网络安全政策
答案 14 :(得分:0)
我能够通过强制read-stream@2.3.0来解决此问题。
答案 15 :(得分:0)
使用n切换节点版本时使用sudo
示例sudo n 10.4.1
答案 16 :(得分:-1)
如果使用Windows操作系统,则可能是由于已安装文件夹的名称(如“ C:\ Program Files”)包含空白。在“ Program”和“ Files”之间有一个空白。解决方法是安装在“ C:\ ProgramFiles”中。
希望能为您提供帮助。