错误的ERR! asyncWrite不是一个函数

问题描述 投票:39回答:16

npm install -g firebase-tools npm ERR! asyncWrite不是函数npm ERR! pna.nextTick不是一个函数

错误的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 node -v:v10.3.0 os:Ubuntu 18.04 LTS 图形:AMD®Juniper 处理器:英特尔®酷睿™i7 CPU 960 @ 3.20GHz×8 os类型:64位

node.js npm firebase-tools
16个回答
24
投票

DKebler提到的解决方案对我来说也不起作用,仍然有相同的错误和调试日志。

我还要降级。

命令行

sudo npm cache clean -f

sudo n 8.11.2

1
投票

在尝试通过npm安装express时,我自己遇到了这个错误。我的简单解决方案是将节点降级到稳定版本。如果您有节点版本管理器“n”,则可以使用以下命令完成:

n stable

希望这有帮助!如果您之前没有使用过,我强烈推荐“n”。它让生活更轻松:)


1
投票

我已经解决了这个问题:

  1. 清理缓存npm cache clean -f
  2. node升级到最新版本:n latest
  3. npm升级到最新版本:npm i -g npm
  4. 删除依赖项:rm -rf node_modules
  5. 再次安装依赖项:npm install

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

问候。


0
投票

使用n示例sudo n 10.4.1切换节点版本时使用sudo


0
投票

我能够通过强制[email protected]来解决这个问题。


0
投票

这是由于公司的网络安全策略

解决

  1. 转到https://codeload.github.com/jashkenas/underscore/zip/master并下载zip文件
  2. 如果您希望packge是全局的,请在C:\ Users {YourUsername} \ AppData \ Roaming \ npm \ node_modules \ underscore上创建下划线文件夹
  3. 提取到文件夹
  4. 在package.json文件中添加“dependencies”:{“underscore”:“^ {downloadedVersionNumber}”
  5. 创建node_module>下划线并将Extract复制到文件夹


0
投票

Windows平台解决方案:

在我的情况下,计算机有win7,并错误地安装了较新版本的nodejs。

为了解决这个问题我做了:

  • 从删除节点js windows变量开始(系统属性 - >高级选项卡)
  • 卸载nodejs
  • 在程序下找到nodejs文件夹并将其删除(提示:使用cmd执行此操作以获得更快的结果)
  • 输入regedit(按住“windows key”并在键盘上输入“R”,然后输入“regedit”...注意注册!
  • 一旦打开regedit ..编辑菜单,然后单击查找
  • 在对话框中输入“nodejs”
  • 如果找到一个键..删除它。按“F3”查找下一个并继续,直到您全部删除它们。
  • 如果有一个不允许您删除,您需要输入“保存模式或管理员权限”才能删除这些键。
  • 之后重新启动计算机,重新安装nodejs最新版本。它应该工作正常。

这就是我做的,它的工作原理!


8
投票

那是因为,当我写这个答案时,节点10不太稳定。所以最好坚持节点8.因为你可以使用降级到8.11.3

sudo n 8.11.3

然后你可以轻松安装npm模块。


7
投票

我猜这是npm v5和节点v10之间的不兼容。为了解决这个问题,我将节点降级到v9,将npm升级到v6,然后将节点升级到v10:

n 9.10.1
npm i -g npm
n stable

6
投票

重新安装npm - mentioned in n installation guide - 为我工作。

$ curl -0 -L https://npmjs.com/install.sh | sudo sh

5
投票

这是版本问题。 npm 6.1.0→节点10.2。*

试试n 10.2.1


5
投票

n在v2.1.12中更新以解决此问题。以前,新的npm只是被复制到现有文件夹中。当节点10中发生的node_modules布局发生变化时,这可能会导致问题。

删除npm并重新安装将修复npm问题。升级n可以防止在使用n切换版本时再次发生此问题。

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

EG

$ 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

4
投票

Windows平台的解决方案

  1. 卸载节点
  2. 如果存在,则从程序文件中删除文件夹(C:\ Program Files \ nodejs)
  3. 删除npm的数据文件夹:C:\ Users {Your uername} \ AppData \ Roaming \ nmp

再次安装节点(使用不同的安装文件夹,如“C:\ Program Files \ nodejs-2”)

根本原因是node和nvm安装在同一个安装文件夹中。


4
投票
  1. 安装旧版本节点,该节点可以成功运行。
  2. 更新你的npm(全局)。
  3. 安装高版本节点。

以下内容适用于我的本地环境。

首先安装和旧版本节点。

sudo n 8.11.3

然后更新npm。

sudo npm i -g npm

现在,您更新节点,一切正常。

sudo n 10.12.0


3
投票

您必须将节点版本降级到最新的稳定版本,即8.11.2,因为最新版本的节点与所有npm模块不兼容。

© www.soinside.com 2019 - 2024. All rights reserved.