1. 程式人生 > >npm ERR! code ERR_STREAM_WRITE_AFTER_END npm install 報錯

npm ERR! code ERR_STREAM_WRITE_AFTER_END npm install 報錯

實力踩坑npm,自從用了npm之後專案構建和外掛管理確實方便了很多,但也是被坑的不要不要的。由於平時只是用用,並沒有深入瞭解node的npm,所以遇到問題都比較棘手,能夠查到的資料也不多。闡述以下我遇到的問題,和解決的一些思路,希望能夠啟發大家。

遇到問題

在學習react應用的時候想用npm安裝ant design,結果遇到了error,執行命令和錯誤如下

E:\workspace\my-react-app>npm install antd --save-dev
npm ERR! code ERR_STREAM_WRITE_AFTER_END
npm ERR! write after end
npm ERR! code ERR_STREAM_WRITE_AFTER_END
npm ERR! write after end
npm ERR! code ERR_STREAM_WRITE_AFTER_END
npm ERR! write after end
npm ERR! code ERR_STREAM_WRITE_AFTER_END
npm ERR! write after end
npm ERR! code ERR_STREAM_WRITE_AFTER_END
npm ERR! write after end


npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Administrator\AppData\Roaming\npm-cache\_logs\2018-05-20T13_15_29_184Z-debug.log、

使用的node版本和npm版本,都是最新版

E:\workspace\my-react-app>npm -v
6.0.1


E:\workspace\my-react-app>node -v
v10.1.0

詳細錯誤日誌log檔案(2018-05-20T13_15_29_184Z-debug.log)

1626 http fetch GET 200 http://registry.cnpmjs.org/antd 2705ms
1627 verbose stack Error [ERR_STREAM_WRITE_AFTER_END]: write after end
1627 verbose stack     at writeAfterEnd (_stream_writable.js:243:12)
1627 verbose stack     at PassThrough.Writable.write (_stream_writable.js:292:5)
1627 verbose stack     at PassThrough.Writable.end (_stream_writable.js:582:10)
1627 verbose stack     at ReadEntry.entry.on (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\pacote\lib\extract-stream.js:19:41)
1627 verbose stack     at ReadEntry.emit (events.js:187:15)
1627 verbose stack     at ReadEntry.emit (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\tar\node_modules\minipass\index.js:296:25)
1627 verbose stack     at ReadEntry.[maybeEmitEnd] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\tar\node_modules\minipass\index.js:249:12)
1627 verbose stack     at ReadEntry.end (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\tar\node_modules\minipass\index.js:162:27)
1627 verbose stack     at Unpack.[consumeBody] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\tar\lib\parse.js:210:13)
1627 verbose stack     at Unpack.[consumeChunkSub] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\tar\lib\parse.js:391:40)
1627 verbose stack     at Unpack.[consumeChunk] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\tar\lib\parse.js:362:30)
1627 verbose stack     at Unzip.(anonymous function).on.chunk (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\tar\lib\parse.js:291:59)
1627 verbose stack     at Unzip.emit (events.js:182:13)
1627 verbose stack     at Unzip.emit (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\tar\node_modules\minipass\index.js:296:25)
1627 verbose stack     at Unzip.write (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\tar\node_modules\minipass\index.js:99:17)
1627 verbose stack     at Unzip.write (C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\node_modules\tar\node_modules\minizlib\index.js:284:29)
1628 verbose cwd E:\workspace\my-react-app
1629 verbose Windows_NT 10.0.16299
1630 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Administrator\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install" "antd" "--save-dev"
1631 verbose node v10.1.0
1632 verbose npm  v6.0.1
1633 error code ERR_STREAM_WRITE_AFTER_END
1634 error write after end
1635 verbose exit [ 1, true ]

嘗試的失敗方案

  • 解除安裝重灌nodejs,然後嘗試npm install,並沒有用
  • 開始網上尋求幫助,npm i [email protected] -g,將npm升級到最新版本,結果發現我原來使用的就是最新版本,再次失敗。
  • 嘗試使用cnpm, 淘寶的registry, npm install -g cnpm --registry=https://registry.npm.taobao.org,結果出現同樣的error,連cnpm都不能使用,方案又失敗
  • 直接在配置檔案.npmrc中,設定registry=https://registry.npm.taobao.org,或者使用官方的registry=http://registry.npm.org/, 也不行
  • 嘗試過npm cache clean --force也不管用,甚至前幾種方法交替在使用依然不行
  • 在npm的github issue上看到大佬討論到這個問題,裡面也有提交到上面嘗試的幾種方案——更新啊、換映象地址啊,結果看到一個新的方案,然後嘗試將npm降到[email protected],意外的成功了

最終的解決方法

強制將npm回退到[email protected]的版本

E:\workspace\my-react-app>npm install -g [email protected]
C:\Users\Administrator\AppData\Roaming\npm\npm -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js
C:\Users\Administrator\AppData\Roaming\npm\npx -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\bin\npx-cli.js
+ [email protected]
added 40 packages from 6 contributors, removed 246 packages and updated 125 packages in 113.579s

最後再嘗試antd的安裝,結果安裝成功了,cnpm也安裝成功了,花費了大半天的時間。

E:\workspace\my-react-app>npm install antd --save
npm WARN npm npm does not support Node.js v10.1.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
npm WARN [email protected] requires a peer of [email protected]^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (curre
nt: {"os":"win32","arch":"x64"})


+ [email protected]
added 74 packages in 140.349s


E:\workspace\my-react-app>npm install -g cnpm --registry=https://registry.npm.taobao.org
npm WARN npm npm does not support Node.js v10.1.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
npm WARN deprecated [email protected]: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data f
low and an import issue introduced in 2.1.0
C:\Users\Administrator\AppData\Roaming\npm\cnpm -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\bin\cnpm
+ [email protected]
added 802 packages in 436.099s

可以看到antd包安裝成功了,儘管它會提示我npm與node的版本不相容,至少讓讓我成功的裝上了這些包。因為npm是國外的所有有些地址可能訪問不到導致錯誤,使用淘寶映象有時因為更新不同步也會報錯,牆這個問題確實讓人很心煩。不過值得慶幸的是,我知道了使用最新版本的工具並不總是最好的,具有一定的不穩定性,畢竟會受到很多外部環境的影響,一旦出錯都很難找出原因。所以還是建議大家使用穩定的版本進行開發,功能夠用就行。

參考:

相關推薦

npm ERR! code ERR_STREAM_WRITE_AFTER_END npm install

實力踩坑npm,自從用了npm之後專案構建和外掛管理確實方便了很多,但也是被坑的不要不要的。由於平時只是用用,並沒有深入瞭解node的npm,所以遇到問題都比較棘手,能夠查到的資料也不多。闡述以下我遇到的問題,和解決的一些思路,希望能夠啟發大家。遇到問題在學習react應用的

npm install npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!

錯誤資訊: D:\project\eyeshot\eyeshot\Source>npm install npm WARN deprecated [email protected]: This version is no longer maintained. Please upgr

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!
npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall access

error npm ERR! path /usr/local/lib/node_modules/webpack-cli/node_modules/wrap-ansi npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall acc

npm install的時候 npm err code 1

pro code run 命令 nbsp webpack vue 問題 web 在學習vue的時候,npm install的時候報錯 npm err code 1,當時很郁悶,是‘vue init webpack my-project’命令新建的模版項目 ,怎麽會報錯,第

npm install ERR! code EINTEGRITY 解決方案

命令 l命令 spa int 命令幫助 code col 百度搜索 解決方案 npm升級後,npm install 報錯了,報錯信息:ERR! code EINTEGRITY到處百度搜索解決方案,終於找到了!“npm cache verify”這條命

npm install npm ERR! errno -4048,Error: EPERM: operation not permitted,)解決方法

win npm support comm project 需要 event sin 命令 npm ERR! path E:\SouthernPowerGridProject\web_project\AutoOPS\autoops\node_modules\fsevents\

npm install (npm ERR! errno 1)

問題: npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] postinstall: node scripts/build.js npm ERR! Exit status 1 np

npm install (npm ERR!errno -4048)

問題: npm ERR! errno: -4048, npm ERR! code: ‘EPERM’, npm ERR! syscall: ‘scandir’, 解決: 1、刪除npmrc檔案,刪除C:\Users\Administrator.npmrc檔案 2、 C:\

npm install ERR! 404 Not Found: [em

在win下開發的node工程,在linux下用dockerfile部署時,遇到npm install時報錯 Step 8/9 : RUN npm install ---> Running in 2efaeba0750a npm ERR! code E404 npm ERR! 404 No

react native執行npm install code EINTEGRITY,sha1-KBu8wWXlw2tMjqqGjmdoVD6BG8s= integrity checksum fa

自己也是嘗試了一些搜到的方法,如果大家有自己的解決方法也歡迎在此留言彙總,共同努力少走彎路: 本人嘗試了一下一個方法,都是在專案根路徑下依次執行各條命令,自己執行無效未必對於你也是無效的: 1、npm cache verify   ,  np install(無效) 2、

npm install node-pre-gyp ERR!

最近想安裝bcrypt    npm i bcrypt -S命令後,總是報錯    這一安裝,報了這麼多錯誤,嚇死哥了,只能求助百度 百度之後,採用網上的方案 步驟一 npm install --global --product

關於 npm 5.5 版本 安裝webpack ERR! code EEXIST 和 ERR! code EPERM 兩個錯誤的解決辦法

在搭建React開發環境時安裝 webpack遇到了這個錯誤,下面說一下我的解決歷程以及我最終的解決辦法,不一定通用,希望能幫到遇到同樣問題的朋友。 在全域性安裝時報錯如下: 報錯 ERR! code EEXIST; 安裝到當前專案的報錯如下:

使用npm install-4048 operation not permitted解決

not 自己 images 管理 all mini blog 明顯 match 剛剛使用npm install時一直報錯-4048 operation not permitted,也嘗試了多種方法,終於使問題得到解決,這裏總結幾種方法,先貼圖: 一:權限問題 首先看

npm install :error Unexpected end of JSON input while parsing near '...https://registry.npmj'的解決辦法

記: 在npm install前端專案時報錯:error Unexpected end of JSON input while parsing near '...https://registry.npmj' 解決辦法: 1.先清理一下快取: npm cache clean --for

Laravel Npm install Maximum call stack size exceeded的原因及解決辦法

很多同學在執行npm install,尤其是執行npm install --no-bin-links的時候,經常會遇到這麼一個報錯: npm ERR! Linux 3.13.0-24-generic npm ERR! argv “/usr/local/bin/node” “/usr/lo

npm install stack Error: EACCES: permission denied

### npm install時報錯: [[email protected] ~]# npm install ........ ........ gyp verb cli 'rebuild', gyp verb cli '--verbose', gyp verb cli

npm install E404解決

最近在學node,下載node的時候,傻瓜式操作, 網址:https://nodejs.org/en 安裝之後,node -v ,npm -v 這樣就代表那你的node和npm安裝成功,接下來 就是我利用專案依賴,裝包的時候遇到的問題,首先,在專案目錄下,建立一個檔案,叫做pa