npm install 编译失败 cnpm install编译正常 报错 Maximum call stack size exceeded

背景

项目 使用npm install 报错 控制台信息如下

npm ERR! Maximum call stack size exceeded

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\john\AppData\Roaming\npm-cache\_logs\2020-12-09T01_46_15_301Z-debug.log

详细日志信息
0 info it worked if it ends with ok
1 verbose cli [ 'D:\\Develop\\nodejs\\node.exe',
1 verbose cli   'D:\\Develop\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'install' ]
2 info using npm@6.11.2
3 info using node@v10.15.3
4 verbose npm-session 8ce5a6cf24111825
5 silly install runPreinstallTopLevelLifecycles
6 silly preinstall portal@2.0.0
7 info lifecycle portal@2.0.0~preinstall: portal@2.0.0
8 silly install loadCurrentTree
9 silly install readLocalPackageData
10 timing stage:loadCurrentTree Completed in 6945ms
11 silly install loadIdealTree
12 silly install cloneCurrentTreeToIdealTree
13 timing stage:loadIdealTree:cloneCurrentTree Completed in 84ms
14 silly install loadShrinkwrap
15 verbose stack RangeError: Maximum call stack size exceeded
15 verbose stack     at RegExp.test (<anonymous>)
15 verbose stack     at schemas.forEach.schema (D:\Develop\nodejs\node_modules\npm\node_modules\aproba\index.js:39:16)
15 verbose stack     at Array.forEach (<anonymous>)
15 verbose stack     at validate (D:\Develop\nodejs\node_modules\npm\node_modules\aproba\index.js:34:11)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:37:3)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
15 verbose stack     at flatNameFromTree (D:\Develop\nodejs\node_modules\npm\lib\install\flatten-tree.js:39:14)
16 verbose cwd F:\code\work\xueba\frontend\admin
17 verbose Windows_NT 6.3.9600
18 verbose argv "D:\\Develop\\nodejs\\node.exe" "D:\\Develop\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
19 verbose node v10.15.3
20 verbose npm  v6.11.2
21 error Maximum call stack size exceeded
22 verbose exit [ 1, true ]


而使用cnpm install 进行编译发现可以正常使用
日志如下:

| [27/36] Installing path-parse@^1.0.6platform unsupported @vue/cli-plugin-babel@3.8.0 › webpack@4.28.4 › watchpack@1.7.5 › chokidar@3.4.3 › fsevents@~2.1.2 Package require os(darwin) not compatible with your platform(win32)
/ [27/36] Installing path-parse@^1.0.6[fsevents@~2.1.2] optional install error: Package require os(darwin) not compatible with your platform(win32)
√ Installed 36 packages
√ Linked 288 latest versions
√ Run 0 scripts
peerDependencies link @babel/core@7.12.9 in F:\code\work\xueba\frontend\admin\node_modules\_babel-loader@8.2.2@babel-loader unmet with F:\code\work\xueba\frontend\admin\node_modules\@babel\core(7.10.2)
peerDependencies link webpack@4.28.4 in F:\code\work\xueba\frontend\admin\node_modules\_babel-loader@8.2.2@babel-loader unmet with F:\code\work\xueba\frontend\admin\node_modules\webpack(4.43.0)
peerDependencies link ajv@6.12.6 in F:\code\work\xueba\frontend\admin\node_modules\_ajv-keywords@3.5.2@ajv-keywords unmet with F:\code\work\xueba\frontend\admin\node_modules\ajv(6.12.2)
peerDependencies link webpack@4.28.4 in F:\code\work\xueba\frontend\admin\node_modules\_@vue_preload-webpack-plugin@1.1.2@@vue\preload-webpack-plugin unmet with F:\code\work\xueba\frontend\admin\node_modules\webpack(4.43.0)
peerDependencies link vue@2.6.12 in F:\code\work\xueba\frontend\admin\node_modules\_@chenfengyuan_vue-qrcode@1.0.2@@chenfengyuan\vue-qrcode unmet with F:\code\work\xueba\frontend\admin\node_modules\vue(2.6.11)
peerDependencies link vue@2.6.12 in F:\code\work\xueba\frontend\admin\node_modules\_@riophae_vue-treeselect@0.4.0@@riophae\vue-treeselect unmet with F:\code\work\xueba\frontend\admin\node_modules\vue(2.6.11)
peerDependencies link webpack@4.28.4 in F:\code\work\xueba\frontend\admin\node_modules\_terser-webpack-plugin@1.4.5@terser-webpack-plugin unmet with F:\code\work\xueba\frontend\admin\node_modules\webpack(4.43.0)
peerDependencies link webpack@4.28.4 in F:\code\work\xueba\frontend\admin\node_modules\_mini-css-extract-plugin@0.6.0@mini-css-extract-plugin unmet with F:\code\work\xueba\frontend\admin\node_modules\webpack(4.43.0)
peerDependencies link webpack@4.28.4 in F:\code\work\xueba\frontend\admin\node_modules\_vue-loader@15.9.5@vue-loader unmet with F:\code\work\xueba\frontend\admin\node_modules\webpack(4.43.0)
peerDependencies link vue-template-compiler@2.6.12 in F:\code\work\xueba\frontend\admin\node_modules\_@vue_cli-service@3.8.4@@vue\cli-service unmet with F:\code\work\xueba\frontend\admin\node_modules\vue-template-compiler(2.6.11)
peerDependencies link vue@2.6.12 in F:\code\work\xueba\frontend\admin\node_modules\_element-ui@2.14.1@element-ui unmet with F:\code\work\xueba\frontend\admin\node_modules\vue(2.6.11)
Recently updated (since 2020-12-02): 5 packages (detail see file F:\code\work\xueba\frontend\admin\node_modules\.recently_updates.txt)
  Today:
    → @vue/cli-service@3.8.4 › browserslist@4.15.0 › electron-to-chromium@^1.3.612(1.3.620) (03:02:40)
√ All packages installed (168 packages installed from npm registry, used 44s(network 44s), speed 331.16kB/s, json 307(1.22MB), tarball 12.87MB)

F:\code\work\xueba\frontend\admin>npm run dev

> portal@2.0.0 dev F:\code\work\xueba\frontend\admin
> vue-cli-service serve

 INFO  Starting development server...
 10% building 2/2 modules 0 activei 「wds」: Project is running at http://localhost:8080/
i 「wds」: webpack output is served from /
i 「wds」: Content not from webpack is served from F:\code\work\xueba\frontend\admin\public
i 「wds」: 404s will fallback to /index.html
 13% building 25/28 modules 3 active ...dev-server\client\clients\BaseClient.jsBrowserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
 98% after emitting CopyPlugin

 WARNING  Compiled with 2 warnings                                                                                                                                                                                             09:59:13


 warning  in ./src/views/rate/testing/index.vue?vue&type=template&id=6036aebe&scoped=true&

Module Warning (from ./node_modules/_vue-loader@15.9.5@vue-loader/lib/loaders/templateLoader.js):
(Emitted value instead of an instance of Error) <el-checkbox v-for="item in reasonOptions">: component lists rendered with v-for should have explicit keys. See https://vuejs.org/guide/list.html#key for more info.

 @ ./src/views/rate/testing/index.vue?vue&type=template&id=6036aebe&scoped=true& 1:0-524 1:0-524
 @ ./src/views/rate/testing/index.vue
 @ ./src sync ^\.\/.*\.vue$
 @ ./src/router/avue-router.js
 @ ./src/router/router.js
 @ ./src/main.js
 @ multi ./node_modules/_webpack-dev-server@3.11.0@webpack-dev-server/client?http://192.168.1.118:8080/sockjs-node ./node_modules/_webpack@4.28.4@webpack/hot/dev-server.js ./src/main.js babel-polyfill classlist-polyfill

 warning  in ./src/views/rate/authentication/index.vue?vue&type=template&id=00f4cea0&scoped=true&

Module Warning (from ./node_modules/_vue-loader@15.9.5@vue-loader/lib/loaders/templateLoader.js):
(Emitted value instead of an instance of Error) <el-checkbox v-for="item in reasonOptions">: component lists rendered with v-for should have explicit keys. See https://vuejs.org/guide/list.html#key for more info.

 @ ./src/views/rate/authentication/index.vue?vue&type=template&id=00f4cea0&scoped=true& 1:0-524 1:0-524
 @ ./src/views/rate/authentication/index.vue
 @ ./src sync ^\.\/.*\.vue$
 @ ./src/router/avue-router.js
 @ ./src/router/router.js
 @ ./src/main.js
 @ multi ./node_modules/_webpack-dev-server@3.11.0@webpack-dev-server/client?http://192.168.1.118:8080/sockjs-node ./node_modules/_webpack@4.28.4@webpack/hot/dev-server.js ./src/main.js babel-polyfill classlist-polyfill


  App running at:
  - Local:   http://localhost:8080/
  - Network: http://192.168.1.118:8080/

  Note that the development build is not optimized.
  To create a production build, run npm run build.


简介

npm(node package manager):nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)
cnpm:因为npm安装插件是从国外服务器下载,受网络的影响比较大,可能会出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事。来自官网:“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。”

详细区别见参考链接

参考链接

npm 和 cnpm 的区别,你真的搞懂了嘛

NPM 使用介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值