• [技术干货] 除了npm你还应该知道这些包管理工具
    前言:相信很多刚学习管理工具的同学都说从认识npm开始的,但是其他的包管理工具你都用过哪些,都知道它们的优缺点吗?今天就和大家一起探讨一下!主流的前端包管理工具有 npm、yarn、pnpm、以及国内的镜像 cnpm、tyarn 等,这是包管理器都是基于 nodejs。npm起源:npm 是 2010 年发布的 nodejs 依赖管理工具,在此之前,前端的依赖管理都是手动下载和管理的。优点:npm是一个成熟、稳定、并且有趣的包管理器。提供了一个非常有用的解决方案,支持大量的测试用例缺点:1.下载速度慢2.安装速度慢3.下载版本不一致注:npm5改进与yarn相差不大cnpm起源:国内使用npm下载太慢了,所以淘宝提供了镜像cnpm访问。优点:跟npm使用区别不大,npm是国外站点资源,cnpm是国内站点资源,当然国内站点的要快一点。缺点: npm有packge-lock.json是用来锁定安装的包的版本号,但是cnpm不受packge-lock.json的限制,cnpm只根据packge.json来下载安装包yarn起源:yarn 是 Facebook 于 2016 年 发布的替代 npm 的包管理工具,还可以作为项目管理工具,定位是快速、可靠、安全的依赖管理工具。缺点:1.存在幽灵依赖。2.提升的依赖依然复制多份的问题。优点:1.运行速度获得了显著的提高,整个安装时间也变得更少2.像npm同样,yarn使用本地缓存。与npm不一样的是,yarn无需互联网链接就能安装本地缓存的依赖项,它提供了离线模式。这个功能在2012年的npm项目中就被提出来过,但一直没有实现。3.容许合并项目中使用到的全部的包的许可证注:pnpm解决了yarn存在的问题。pnpm起源:是 2017 年发布的一款替代 npm 包管理工具,具有速度快、节省磁盘空间的特点。缺点:对老旧存量项目迁移pnpm可能需要踩坑优点:1.pnpm运行起来非常的快,超过了npm和yarn2.pnpm采用了一种巧妙的方法,利用硬链接和符号链接来避免复制所有本地缓存源文件,这是yarn的最大的性能弱点之一3.pnpm继承了yarn的所有优点,包括离线模式和确定性安装4.pnpm 内置了对单个源码仓库中包含多个软件包的支持5.pnpm 创建的 node_modules 并非扁平结构,因此代码不能对任意软件包进行访问转载自https://www.duidaima.com/Group/Topic/OtherTools/9569
  • [问题求助] 紧急!! 使用Scaffolding magno ui 离线开发高级页面组件预览报错
    环境为:在点击本地预览的时候不断报错 麻烦尽快解决 急!!
  • [技术干货] npm install安装报错:gyp info it worked if it ends with ok的解决方法【转载】
    今天新启动一个项目,在 npm install 安装依赖项时出现报错,所以下面这篇文章主要给大家介绍了关于npm install安装报错:gyp info it worked if it ends with ok的解决方法,需要的朋友可以参考下目录• 1.可能原因1:node和node-sass版本冲突, • 2.node.js卸载与安装 • 3.node-sass卸载安装, • 4.安装好后对应版本的node和node-sass后启动 • 总结 前端vue新项目 npm install安装报错 gyp info it worked if it ends with ok1.可能原因1:node和node-sass版本冲突,对应的node和node-sass的版本如下2.node.js卸载与安装之前有安装过弄过node.js的如果node.js版本过高需要重新安装低版本node.js,在控制面板卸载node.js,再在node官网 下载对应的msi包安装到之前的安装过node.js的文件夹下。低版本的node.js 只需直接下载高版本的msi包安装无需卸载之前的低版本node.js,这样不需要再去配置环境变量啥的,3.node-sass卸载安装,node-sass卸载:1npm uninstall node-sassnode-sass安装可以指定版本:npm install node-sass 布置的版本直接安装npm install node-sass@4.14.0 指定4.14版本的,如果安装报错试试换下淘宝镜像,一个好的解决方案在是直接在项目根目录下创建一个 .npmrc文件指定淘宝镜像文件内容:sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/ electron_mirror=https://npm.taobao.org/mirrors/electron/ registry=https://registry.npm.taobao.org4.安装好后对应版本的node和node-sass后启动再npm install , npm run dev 没有报错啦总结到此这篇关于npm install安装报错:gyp info it worked if it ends with ok解决的文章就介绍到这了转载自https://www.jb51.net/article/255441.htm
  • [技术干货] 设置npm的registr
    1.原npm地址npm config set registry http://registry.npmjs.org 2.设置国内镜像a.通过config命令npm config set registry https://registry.npm.taobao.org  npm info underscore (如果上面配置正确这个命令会有字符串response)b.命令行指定npm --registry https://registry.npm.taobao.org info underscore c.编辑 ~/.npmrc 加入下面内容registry = https://registry.npm.taobao.org3.使用nrm管理registry地址a.下载nrmnpm install -g nrmb.添加registry地址nrm add npm http://registry.npmjs.orgnrm add taobao https://registry.npm.taobao.orgc.切换npm registry地址nrm use taobaonrm use npm清除代理npm config rm proxy npm config rm https-proxy
  • [技术干货] 设置npm的registr
    1.原npm地址npm config set registry http://registry.npmjs.org 2.设置国内镜像a.通过config命令npm config set registry https://registry.npm.taobao.org  npm info underscore (如果上面配置正确这个命令会有字符串response)b.命令行指定npm --registry https://registry.npm.taobao.org info underscore c.编辑 ~/.npmrc 加入下面内容registry = https://registry.npm.taobao.org3.使用nrm管理registry地址a.下载nrmnpm install -g nrmb.添加registry地址nrm add npm http://registry.npmjs.orgnrm add taobao https://registry.npm.taobao.orgc.切换npm registry地址nrm use taobaonrm use npm清除代理npm config rm proxy npm config rm https-proxy
  • [问题求助] 【物联网应用侧开发SDK产品】【node.js 功能】构建npm报错
    【功能模块】我想使用开发微信小程序连接华为云的物联网平台,就简单的数据收发就行,我看有官方的node.js sdk,然后我npm install后,构建npm会报下面的错,有大神知道吗?【操作步骤&问题现象】1、npm install @huaweicloud/huaweicloud-sdk-core2、npm install @huaweicloud/huaweicloud-sdk-iotda3、构建npm【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] 【Devcloud】npm构建之下载依赖报错篇
            大家好,沉寂了多日,我静下心来梳理高频报错,发现npm构建中的一个小问题屡屡映入眼帘,这个可恨的报错卡点,今天就让我们将他连精神带肉体统统扫进历史的大垃圾箱中!       首先我们看一下报错现象~:       npm ERR! notarget No matching version found for @vue/babel-preset-app@^4.5.19   日志显示,我们找不到这个依赖包,可是不科学啊,我的任务明明几个小时前还完全正常,并且我没有改动过任何代码,怎么会找不到呢?相信电视机前的小伙伴内心都会跟我产生同样的疑惑!下面我来为大家答疑解惑!以下是排查并解决问题的几个步骤~1.我们去浏览器里访问npm的官网:https://www.npmjs.com/,找到我们的当事人:@vue/babel-preset-app ~把这个组件名称输入进去如图:2.点击下图标红位置,查看该组件的版本发布历史,原来npm官网上4个小时前更新了这个包的版本!找到原因啦,因为直接从npm官网下载镜像会很慢,所以我们在华为云devcloud云端编译构建的时候,默认使用的是我们华为云的开源镜像站,以便于提高用户的构建速度!但是这个包官方刚刚才更新,我们的华为云镜像站还没有同步这个镜像。3.好的,既然原因我们已经找到了,那该如何解决呢?答:最快速简单的办法,就是把版本号往前移一位。换一个稍微旧点的版本,我们拿这个5.0.6的版本来代替。另外我们可以通过这种方式来查看我们华为云上当前提供的最新镜像版本:https://mirrors.huaweicloud.com/repository/npm/“组件名称”,比如这样:方法一:找到我们的代码仓库-package.json文件~ 进行如下修改:方法二:进入我们的编译构建任务-npm构建的命令行内增加这个命令:npm install @vue/babel-preset-app@5.0.64.执行构建查看结果,ok,构建成功~这类问题大家学会了嘛?小伙伴们,我们下期再见!
  • [技术干货] 设置npm的registry
    1.原npm地址npm config set registry http://registry.npmjs.org 2.设置国内镜像a.通过config命令npm config set registry https://registry.npm.taobao.org  npm info underscore (如果上面配置正确这个命令会有字符串response)b.命令行指定npm --registry https://registry.npm.taobao.org info underscore c.编辑 ~/.npmrc 加入下面内容registry = https://registry.npm.taobao.org3.使用nrm管理registry地址a.下载nrmnpm install -g nrmb.添加registry地址nrm add npm http://registry.npmjs.orgnrm add taobao https://registry.npm.taobao.orgc.切换npm registry地址nrm use taobaonrm use npm清除代理npm config rm proxy npm config rm https-proxy
  • [行业资讯] 攻击者窃取了十万 npm 用户账号登陆信息
    GitHub 披露黑客在 4 月中旬的攻击中窃取了近十万 npm 用户账号登陆信息,这次攻击利用了签发给 Heroku 和 Travis-CI 的 OAuth 应用令牌。攻击者访问了一个 2015 年的用户信息存档,其中含有近 10 万 npm 用户名,密码哈希和电邮地址,虽然哈希密码是用弱哈希算法如加盐 SHA1 生成因此容易破解,但 GitHub 从 3 月 1 日起对所有账号自动启用了电邮验证,控制账号的尝试会自动阻止。在分析和检查了所有 npm 软件包版本的哈希之后,GitHub 确信攻击者没有修改任何公开的软件包或上传现有软件包的新版本。GitHub 重置了所有受影响用户的密码,并向受影响组织和用户发送了通知。(Solidot)转载于CSDN微信公众号
  • [技术干货] 详解npm脚本和package.json
    npm是什么npm是前端开发广泛使用的包管理工具,它让js开发者分享、复用代码更方便。可以重复的框架代码被称为包(package)或者模块(module),一个包可是是一个文件夹里放着几个文件夹,还有一个package.json文件。1、什么是npm脚本  在创建node.js项目如一个vue项目,或一个react项目时,项目都会生成一个描述文件package.json 。比如npm允许在package.json文件里面,使用scripts字段定义脚本命令。1234567891011{//..."scripts": { "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", "start": "npm run dev", "e2e": "node test/e2e/runner.js", "test": "npm run e2e", "lint": "eslint --ext .js,.vue src test/e2e/specs", "build": "node build/build.js" },}  上面代码是package.json文件的一个片段,里面的scripts字段是一个对象。它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js 。  命令行下使用npm run 命令,就可以执行这段脚本。$ npm run build  等同于执行:$ node build/build.js  同理,上面的那段scripts中, npm run test 等同于 npm run e2e , 等同于 node test/e2e/runner.js  这些定义在package.json里面的脚本,就称为npm脚本。项目的相关脚本,可以集中在一个地方;不同项目的脚本命令,只要功能相同,就可以有同样的对外接口。比如用户不需要知道怎么测试你的项目,只要运行 npm run dev 即可  查看当前项目的所有npm脚本命令,可以使用不带任何参数的 npm run 命令。$ npm run2、npm原理  npm脚本的原理非常简单。每当执行 npm run ,就会自动创建一个shell脚本, 在这个shell里面执行指定的脚本命令。因此,只需要是shell (一般是bash) 可以运行的命令,就可以写在npm脚本里面。  比较特别的是,npm run 新建的这个shell, 会将当前目录的node_modules/.bin 子目录加入PATH 变量,执行结束后,再将PATH变量恢复原样。还意味着,当前目录的node_modules/.bin 子目录里面的所有脚本,都可以直接用脚本名调用,而不必加上路径。比如,当前项目的依赖里面有Mocha, 只要直接写 mocha test 就可以了。"test": "mocha test"  而不用写成下面这样。"test": "./node_modules/.bin/mocha test"  由于npm脚本的唯一要求就是可以在shell中执行,因此它不一定是Node脚本,任何可执行文件都可以写在里面。npm脚本的退出码,也遵守shell脚本规则。如果退出码不是0,npm 就认为这个脚本执行失败。3、通配符  由于npm脚本就是shell脚本,因此可以使用shell通配符。12"lint": "jshint *.js""lint": "jshint **/*.js"  上面代码中,* 表示任意文件名,**表示任意一层子目录。如果要将通配符传入原始命令,防止被shell转义,要将*号转义。"test": "tap test/\*.js"4、传参  向npm脚本传入参数,要使用 -- 标明。"lint": "jshint **.js"  向上面的 npm run lint 命令传入参数,必须写成下面这样。1$ npm run lint -- --reporter checkstyle > checkstyle.xml 也可以再package.json里面封装一个命令。12"lint": "jshint **.js","lint:checkstyle": "npm run lint -- --reporter checkstyle > checkstyle.xml"5、执行顺序  如果npm脚本里面需要执行多个任务,那么需要明确它们的执行顺序。如果是并行执行(即同时的平行执行),可以使用 & 符号。$ npm run script1.js & npm run script2.js  如果是继发执行(即只有前一个任务成功,才能执行下一个任务),可以使用 && 符号。$ npm run script1.js && npm run script2.js6、默认值  一般来说,npm脚本由用户提供。但是,npm对两个脚本提供了默认值。也就是说,这两个脚本不用定义,就可以直接使用。12"start": "node server.js","install": "node-gyp rebuild"  上面代码中,npm run start 的默认值是 node server.js, 前提是项目根目录下有server.js这个脚本;npm run install 的默认值是node-gyp rebuild, 前提是项目根目录下有binding.gyp文件。7、钩子  npm脚本有pre何post两个钩子。举例来说,build脚本命令的钩子就是prebuild和postbuild。123"prebuild": "echo I run before the build script","build": "cross-env NODE_ENV=production webpack","postbuild": "echo I run after the build script"  用户执行npm run build的时候,会自动按照下面的顺序执行。1npm run prebuild && npm run build && npm run postbuild  因此,可以在这两个钩子里面,完成一些准备工作和清理工作。下面是一个例子:123"clean": "rimraf ./dist && mkdir dist","prebuild": "npm run clean","build": "cross-env NODE_ENV=production webpack" npm默认提供下面的这些钩子:12345678prepublish,postpublishpreinstall,postinstallpreuninstall,postuninstallpreversion,postversionpretest,posttestprestop,poststopprestart,poststartprerestart,postrestart  自定义的脚本命令也可以加上pre和post钩子。比如,myscript这个脚本命令,也有premyscript和postmyscript钩子。不过,双重的pre和post无效,比如prepretest和postposttest是无效的。  npm提供一个npm_lifecycle_event变量,返回当前正在运行的脚本命令,比如pretest、test、posttest等等。所以,可以利用这个变量,在同一个脚本文件里面,为不同的npm scripts命令编写代码。请看下面的例子:12345678910111213const TARGET = process.env.npm_lifecycle_event; if (TARGET === 'test') { console.log(`Running the test task!`);} if (TARGET === 'pretest') { console.log(`Running the pretest task!`);} if (TARGET === 'posttest') { console.log(`Running the posttest task!`);}  注意,prepublish这个钩子不仅会在npm publish 命令之前运行,还会在npm install (不带任何参数)命令之前运行。这种行为很容易让用户感到困惑,所以npm 4引入了一个新的钩子prepare, 行为等同于prepublish, 而从npm 5开始,prepublish 将只在npm publish命令之前运行。8、简写形式  四个常用的npm脚本有简写形式。npm start 是 npm run start 的简写 npm stop 是 npm run stop 的简写 npm test 是 npm run test 的简写 npm restart 是 npm run stop && npm run restart && npm run start 的简写  npm start 、npm stop、npm restart都比较好理解,而npm restart 是一个复合命令,实际上会执行三个脚本命令:stop、restart、start 。具体的执行顺序如下:prerestart prestop stop poststop restart prestart start poststart postrestart9、变量  npm脚本有一个非常强大的功能,就是可以使用npm的内部变量。首先,通过npm_package_ 前缀,npm脚本可以拿到package.json里面的字段。比如,下面是一个package.json。1234567{ "name": "foo",  "version": "1.2.5", "scripts": { "view": "node view.js" }}那么,变量npm_package_name返回foo, 变量npm_package_version返回 1.2.5 。123// view.jsconsole.log(process.env.npm_package_name); // fooconsole.log(process.env.npm_package_version); // 1.2.5  上面代码中,我们通过环境变量process.env 对象,拿到package.json 的字段值。如果是bash脚本,可以用$npm_package_name和$npm_package_version娶到这两个值。npm_package_ 前缀也支持嵌套的package.json字段。1234567"repository": {"type": "git","url": "xxx"},scripts: {"view": "echo $npm_package_repository_type"}  上面代码中,repository字段的type属性,可以通过 npm_package_repository_type取到。下面是另外一个例子:123"scripts": { "install": "foo.js"}  上面代码中,npm_package_scripts_install变量的值等于foo.js 。  然后,npm 脚本还可以通过npm_config_ 前缀,拿到npm的配置变量,即npm config get xxx 命令返回的值。比如,当前模块的发行标签,可以通过npm_config_tag取到。"view": "echo $npm_config_tag",  注意,package.json里面的config对象,可以被环境变量覆盖。12345{  "name" : "foo", "config" : { "port" : "8080" }, "scripts" : { "start" : "node server.js" }}  上面代码中,npm_package_config_port 变量返回的是8080。这个值可以用下面的方法覆盖。$ npm config set foo:port 80  最后,env命令可以列出所有环境变量。"env": "env"10、常用脚本示例1234567891011121314151617181920212223242526// 删除目录"clean": "rimraf dist/*", // 本地搭建一个 HTTP 服务"serve": "http-server -p 9090 dist/", // 打开浏览器"open:dev": "opener http://localhost:9090", // 实时刷新 "livereload": "live-reload --port 9091 dist/", // 构建 HTML 文件"build:html": "jade index.jade > dist/index.html", // 只要 CSS 文件有变动,就重新执行构建"watch:css": "watch 'npm run build:css' assets/styles/", // 只要 HTML 文件有变动,就重新执行构建"watch:html": "watch 'npm run build:html' assets/html", // 部署到 Amazon S3"deploy:prod": "s3-cli sync ./dist/ s3://example-com/prod-site/", // 构建 favicon"build:favicon": "node scripts/favicon.js",11、package.json其他配置项说明对于dependencies和devDependencies的一些说明:  使用npm安装依赖时,如果使用--save安装的依赖,会被写到dependencies模块里面去;  而使用--save-dev安装的依赖,则会被写到devDependencies模块里面去;如果什么都不写,则默认安装到dependencies里面去。  比如我们使用的一些构建工具例如glup、webpack这些只在开发环境中才用到的包,则只需要写到devDependencies中即可。  对于两种环境的指定方式,则是通过配置文件中的 process.env.NODE_ENV = 'development' 或 process.env.NODE_ENV = 'production' 来指定是开发还是生产环境。12、package.json中的bin属性  package.json中的bin是命令名和本地文件的映射。如果是全局安装,则会把文件映射到全局的bin里面去,安装后,在任意地方打开终端使用命令行执行该文件;如果是本地安装,则会把文件映射到本项目的./node_modules/.bin文件夹里面,安装后,在本工程目录里面使用命令行执行该文件。  举例说明:新建一个文件夹,打开终端,进入该文件夹,通过命令 npm init -y 创建一个package.json文件。然后在package.json文件同级目录下新建一个index.js文件,加上测试数据。注意,index.js文件的头部必须有这个 #!/usr/bin/env node 节点。在package.json中增加bin属性,设置命令名和index.js的映射关系。在终端当前目录中进行全局安装: npm install -g 安装成功后,则在电脑任意文件夹打开终端,执行package.json中bin中设置的命令,都会执行对应的index.js中的代码。 如下图
  • [知识分享] npm install xxxx --legacy-peer-deps命令是什么?
    本文分享自华为云社区《[npm install xxxx --legacy-peer-deps命令是什么?为什么可以解决下载时候产生的依赖冲突呢?](https://bbs.huaweicloud.com/blogs/349716?utm_source=csdn&utm_medium=bbs-ex&utm_campaign=paas&utm_content=content)》,作者: gentle_zhou 。 在日常使用命令npm install / npm install XX下载依赖的操作中,我经常会遇到无法解析依赖树的问题(依赖冲突): ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/29/1651195648725373976.png) 但是每当遇到这种情况的时候,我用命令npm install --legacy-peer-deps就可以顺利进行下载操作: ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20224/29/1651195659271721613.png) 这是为什么呢?带着好奇心,我去研究学习了一番npm install xxxx --legacy-peer-deps命令是什么?为什么可以解决下载时候产生的依赖冲突呢?(注:我本地当前正在使用的npm版本是8.6.0) **本文导航**:什么是peerDependency?;npm install xxxx --legacy-peer-deps命令是什么?为什么可以解决下载时候产生的依赖冲突呢?;参考资料。 # 什么是peerDependency? 我们日常在前端项目开发过程中,见到最多的一定是package.json文件里的devDependencies(用于在开发环境下依赖的模块)和dependencies(无论开发环境还是生产环境都需要的依赖模块)这两个字段(感兴趣的小伙伴可以看我这篇文章:[package.json文件里的dependencies和devDependencies有什么区别吗?](https://bbs.huaweicloud.com/blogs/346736))。 那么命令--legacy-peer-dep里的peerDependency是什么依赖呢?根据geeksforgeeks网站里的定义: >Peer Dependencies: In package.json file, there is an object called as peerDependencies and it consists of all the packages that are exactly required in the project or to the person who is downloading and the version numbers should also be the same. That is the reason they were named as peerDependencies. The best example is ‘react’ which is common in every project to run similarly. 翻译一下就是说,在package.json文件中,存在一个叫做peerDependencies(对等依赖关系)的对象,它包含了项目里需要的所有的包或则用户正在下载的版本号相同的所有的包(很绕,但意思就是对等依赖关系指定我们的包与某个特定版本的npm包兼容);对等依赖关系最好的例子就是React,一个声明式的创建用户界面的JS库。 那么我们为什么需要对等依赖关系呢? 假设我们现在有一个HelloHWCloud工程,已经在其根目录下的package.json文件中的dependencies字段里声明了packageA作为依赖,而其下面有两个项目app_A和app_B,它们也依赖packageA。如果我们用dependencies而不是peerDepenedencies来声明,那么npm install安装完项目之后的依赖结构如下图所示: ├── HelloHWCloud │ └── node_modules │ ├── packageA │ ├── app_A │ │ └── nodule_modules │ │ └── packageA │ └── app_B │ │ └── nodule_modules │ │ └── packageA 从上图可以看出,packageA依赖包被安装了3次,造成了2次安装冗余。 而如果采用peerDepenedency来下载,就可以避免这个核心依赖库被重复下载的问题。还是上面那个场景,我们在项目app_A和app_B的package.json文件里的peerDependencies字段声明一下核心依赖库packageA,然后在根目录的package.json文件里的dependencies字段也声明一下packageA。接着再执行npm install,生成的依赖结构就会如下图所示: ├── HelloHWCloud │ └── node_modules │ ├── packageA │ ├── app_A │ └── app_B 如上图所示,packageA就只会被安装一次。因此,npm 从**版本v7**开始,install就默认以peerDependencies的方式去下载了: 1. 如果用户在根目录的package.json文件里显式依赖了核心库,那么各个子项目里的peerDepenedencies声明就可以忽略 2. 如果用户没有显式依赖核心库,那么就按照子项目的peerDepenedencies中声明的版本将依赖安装到项目根目录里 而方式2就会导致一个问题:用户依赖的包版本与各个子项目依赖的包版本相互不兼容,那么就会报错(无法解析依赖树的问题(依赖冲突))让用户自行去修复,因而导致安装过程的中断。(因为是从npm v7引入的,因此npm v3-v6就不会发生这个错误) # npm install xxxx --legacy-peer-deps命令是什么?为什么可以解决下载时候产生的依赖冲突呢? npm install xxxx --legacy-peer-deps命令与其说是告诉npm要去干什么,不如说是告诉npm不要去干什么。 legacy的意思:遗产/(软件或硬件)已过时但因使用范围广而难以替代的;而npm install xxxx --legacy-peer-deps命令用于绕过peerDependency里依赖的自动安装;它告诉npm忽略项目中引入的各个依赖模块之间依赖相同但版本不同的问题,以npm v3-v6的方式去继续执行安装操作。 所以其实该命令并没有真的解决冲突,而是忽略了冲突,以“过时”(v3-v6)的方式进行下载操作。 # 参考资料 1. https://classic.yarnpkg.com/en/docs/dependency-types 2. https://github.blog/2021-02-02-npm-7-is-now-generally-available/ 3. https://blog.logrocket.com/whats-new-in-npm-v7/ 4. https://stackoverflow.com/questions/66239691/what-does-npm-install-legacy-peer-deps-do-exactly-when-is-it-recommended-wh
  • [模型编排] Gde-link 初始化自定义布局的时候 npm报错问题
    当 Gde-link自定义布局的时候检查npm仓库配置no-proxy=.huawei.com registry=http://cmc.centralrepo.rnd.huawei.com/npm/ @adc:registry=http://npm.cloudartifact.szv.dragon.tools.huawei.com/artifactory/api/npm/npm-adc-release报错 百度尝试了,很多方法,改成淘宝的也不行。不知道,哪里出错了。目前进展不下去了。
  • [问题求助] 【Apache zeppelin-0.10.0】【鲲鹏编译】npm install --no-lockfile 失败
    【功能模块】【Apache zeppelin-0.10.0】【Zeppelin: web Application】【鲲鹏编译】【操作步骤&问题现象】0.操作环境mvn git npm 均做了代理,但不知道为什么 执行npm命令就失败了1、操作步骤mvn clean package -Pspark-2.4 -Pspark-scala-2.12 -Phadoop2    -DskipTests 2.问题现象Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.6:npm (npm install) on project zeppelin-web: Failed to run task: 'npm install --no-lockfile --https-proxy=http://proxyuser:***@192.168.1.216:808 --proxy=http://proxyuser:***@192.168.1.216:808' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]3、错误日志[INFO] Zeppelin: Client Examples .......................... SUCCESS [  0.934 s][INFO] Zeppelin: web Application .......................... FAILURE [01:59 min][INFO] Zeppelin: Server ................................... SKIPPED[INFO] Zeppelin: Plugins Parent ........................... SKIPPED[INFO] Zeppelin: Plugin S3NotebookRepo .................... SKIPPED[INFO] Zeppelin: Plugin GitHubNotebookRepo ................ SKIPPED[INFO] Zeppelin: Plugin AzureNotebookRepo ................. SKIPPED[INFO] Zeppelin: Plugin GCSNotebookRepo ................... SKIPPED[INFO] Zeppelin: Plugin ZeppelinHubRepo ................... SKIPPED[INFO] Zeppelin: Plugin FileSystemNotebookRepo ............ SKIPPED[INFO] Zeppelin: Plugin MongoNotebookRepo ................. SKIPPED[INFO] Zeppelin: Plugin OSSNotebookRepo ................... SKIPPED[INFO] Zeppelin: Plugin Kubernetes StandardLauncher ....... SKIPPED[INFO] Zeppelin: Plugin Flink Launcher .................... SKIPPED[INFO] Zeppelin: Plugin Docker Launcher ................... SKIPPED[INFO] Zeppelin: Plugin Cluster Launcher .................. SKIPPED[INFO] Zeppelin: Plugin Yarn Launcher ..................... SKIPPED[INFO] Zeppelin: Packaging distribution ................... SKIPPED[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time:  16:36 min[INFO] Finished at: 2022-01-17T17:37:40+08:00[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.6:npm (npm install) on project zeppelin-web: Failed to run task: 'npm install --no-lockfile --https-proxy=http://proxyuser:***@192.168.1.216:808 --proxy=http://proxyuser:***@192.168.1.216:808' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn <args> -rf :zeppelin-web【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 【ApacheFlink1.14产品】【鲲鹏编译】Flink : Runtime web :npm run build 失败
    【功能模块】【ApacheFlink1.14产品】【鲲鹏编译】Flink : Runtime web   模块【操作步骤&问题现象】0.公司环境maven、git、npm已经配置代理1、操作步骤cd ./flink-release-1.14.0mvn install -DskipTests -Dtar -Dhadoop.version=2.9.2问题现象:Flink 1.11-Flink 1.13 编译均可通过,但flink-release-1.14.0编译报如下错误,请帮忙提示如何排查问题[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time:  09:03 min[INFO] Finished at: 2022-01-18T10:24:24+08:00[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.9.1:npm (npm run build) on project flink-runtime-web_2.11: Failed to run task: 'npm run build --https-proxy=http://proxyuser:***@192.168.1.216:808 --proxy=http://proxyuser:***@192.168.1.216:808' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 139 (Exit value: 139) -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn <args> -rf :flink-runtime-web_2.11[root@hadoop47 flink-release-1.14.0]# 【截图信息】【日志信息】(可选,上传日志内容或者附件)[INFO] Reactor Summary for Flink : 1.14.0:[INFO] [INFO] Flink : ............................................ SUCCESS [  9.170 s][INFO] Flink : Annotations ................................ SUCCESS [  3.712 s][INFO] Flink : Test utils : ............................... SUCCESS [  0.254 s][INFO] Flink : Test utils : Junit ......................... SUCCESS [  2.810 s][INFO] Flink : Metrics : .................................. SUCCESS [  0.757 s][INFO] Flink : Metrics : Core ............................. SUCCESS [  2.321 s][INFO] Flink : Core ....................................... SUCCESS [ 46.265 s][INFO] Flink : Java ....................................... SUCCESS [ 10.641 s][INFO] Flink : Scala ...................................... SUCCESS [ 59.810 s][INFO] Flink : FileSystems : .............................. SUCCESS [  0.205 s][INFO] Flink : FileSystems : Hadoop FS .................... SUCCESS [  5.587 s][INFO] Flink : FileSystems : Mapr FS ...................... SUCCESS [  1.450 s][INFO] Flink : FileSystems : Hadoop FS shaded ............. SUCCESS [  6.972 s][INFO] Flink : FileSystems : S3 FS Base ................... SUCCESS [  2.117 s][INFO] Flink : FileSystems : S3 FS Hadoop ................. SUCCESS [  8.153 s][INFO] Flink : FileSystems : S3 FS Presto ................. SUCCESS [ 19.771 s][INFO] Flink : FileSystems : OSS FS ....................... SUCCESS [ 10.126 s][INFO] Flink : FileSystems : Azure FS Hadoop .............. SUCCESS [ 19.434 s][INFO] Flink : RPC : ...................................... SUCCESS [  0.220 s][INFO] Flink : RPC : Core ................................. SUCCESS [  1.015 s][INFO] Flink : RPC : Akka ................................. SUCCESS [  6.513 s][INFO] Flink : RPC : Akka-Loader .......................... SUCCESS [  3.778 s][INFO] Flink : Queryable state : .......................... SUCCESS [  0.176 s][INFO] Flink : Queryable state : Client Java .............. SUCCESS [  1.452 s][INFO] Flink : Runtime .................................... SUCCESS [01:34 min][INFO] Flink : Optimizer .................................. SUCCESS [  7.665 s][INFO] Flink : Connectors : ............................... SUCCESS [  0.188 s][INFO] Flink : Connectors : File Sink Common .............. SUCCESS [  0.638 s][INFO] Flink : Streaming Java ............................. SUCCESS [ 32.015 s][INFO] Flink : Clients .................................... SUCCESS [  5.411 s][INFO] Flink : DSTL ....................................... SUCCESS [  0.233 s][INFO] Flink : DSTL : DFS ................................. SUCCESS [  1.229 s][INFO] Flink : State backends : ........................... SUCCESS [  0.185 s][INFO] Flink : State backends : RocksDB ................... SUCCESS [  3.520 s][INFO] Flink : State backends : Changelog ................. SUCCESS [  1.414 s][INFO] Flink : Test utils : Utils ......................... SUCCESS [  3.180 s][INFO] Flink : Runtime web ................................ FAILURE [02:48 min][INFO] Flink : Test utils : Connectors .................... SKIPPED[INFO] Flink : Connectors : Base .......................... SKIPPED[INFO] Flink : Connectors : Files ......................... SKIPPED[INFO] Flink : Examples : ................................. SKIPPED[INFO] Flink : Examples : Batch ........................... SKIPPED[INFO] Flink : Connectors : Hadoop compatibility .......... SKIPPED[INFO] Flink : Tests ...................................... SKIPPED[INFO] Flink : Streaming Scala ............................ SKIPPED[INFO] Flink : Connectors : HCatalog ...................... SKIPPED[INFO] Flink : Table : .................................... SKIPPED[INFO] Flink : Table : Common ............................. SKIPPED[INFO] Flink : Table : API Java ........................... SKIPPED[INFO] Flink : Table : API Java bridge .................... SKIPPED[INFO] Flink : Formats : .................................. SKIPPED[INFO] Flink : Format : Common ............................ SKIPPED[INFO] Flink : Table : API Scala .......................... SKIPPED[INFO] Flink : Table : API Scala bridge ................... SKIPPED[INFO] Flink : Table : SQL Parser ......................... SKIPPED[INFO] Flink : Table : SQL Parser Hive .................... SKIPPED[INFO] Flink : Table : Code Splitter ...................... SKIPPED[INFO] Flink : Libraries : ................................ SKIPPED[INFO] Flink : Libraries : CEP ............................ SKIPPED[INFO] Flink : Table : Runtime ............................ SKIPPED[INFO] Flink : Table : Planner ............................ SKIPPED[INFO] Flink : Formats : Json ............................. SKIPPED[INFO] Flink : Connectors : Elasticsearch base ............ SKIPPED[INFO] Flink : Connectors : Elasticsearch 5 ............... SKIPPED[INFO] Flink : Connectors : Elasticsearch 6 ............... SKIPPED[INFO] Flink : Connectors : Elasticsearch 7 ............... SKIPPED[INFO] Flink : Connectors : HBase base .................... SKIPPED[INFO] Flink : Connectors : HBase 1.4 ..................... SKIPPED[INFO] Flink : Connectors : HBase 2.2 ..................... SKIPPED[INFO] Flink : Formats : Hadoop bulk ...................... SKIPPED[INFO] Flink : Formats : Orc .............................. SKIPPED[INFO] Flink : Formats : Orc nohive ....................... SKIPPED[INFO] Flink : Formats : Avro ............................. SKIPPED[INFO] Flink : Formats : Parquet .......................... SKIPPED[INFO] Flink : Formats : Csv .............................. SKIPPED[INFO] Flink : Connectors : Hive .......................... SKIPPED[INFO] Flink : Connectors : JDBC .......................... SKIPPED[INFO] Flink : Connectors : RabbitMQ ...................... SKIPPED[INFO] Flink : Connectors : Twitter ....................... SKIPPED[INFO] Flink : Connectors : Nifi .......................... SKIPPED[INFO] Flink : Connectors : Cassandra ..................... SKIPPED[INFO] Flink : Metrics : JMX .............................. SKIPPED[INFO] Flink : Formats : Avro confluent registry .......... SKIPPED[INFO] Flink : Test utils : Testing Framework ............. SKIPPED[INFO] Flink : Connectors : Kafka ......................... SKIPPED[INFO] Flink : Connectors : Google PubSub ................. SKIPPED[INFO] Flink : Connectors : Kinesis ....................... SKIPPED[INFO] Flink : Connectors : Pulsar ........................ SKIPPED[INFO] Flink : Connectors : SQL : Elasticsearch 6 ......... SKIPPED[INFO] Flink : Connectors : SQL : Elasticsearch 7 ......... SKIPPED[INFO] Flink : Connectors : SQL : HBase 1.4 ............... SKIPPED[INFO] Flink : Connectors : SQL : HBase 2.2 ............... SKIPPED[INFO] Flink : Connectors : SQL : Hive 1.2.2 .............. SKIPPED[INFO] Flink : Connectors : SQL : Hive 2.2.0 .............. SKIPPED[INFO] Flink : Connectors : SQL : Hive 2.3.6 .............. SKIPPED[INFO] Flink : Connectors : SQL : Hive 3.1.2 .............. SKIPPED[INFO] Flink : Connectors : SQL : Kafka ................... SKIPPED[INFO] Flink : Connectors : SQL : Kinesis ................. SKIPPED[INFO] Flink : Formats : Sequence file .................... SKIPPED[INFO] Flink : Formats : Compress ......................... SKIPPED[INFO] Flink : Formats : Avro AWS Glue Schema Registry .... SKIPPED[INFO] Flink : Formats : SQL Orc .......................... SKIPPED[INFO] Flink : Formats : SQL Parquet ...................... SKIPPED[INFO] Flink : Formats : SQL Avro ......................... SKIPPED[INFO] Flink : Formats : SQL Avro Confluent Registry ...... SKIPPED[INFO] Flink : Examples : Streaming ....................... SKIPPED[INFO] Flink : Examples : Table ........................... SKIPPED[INFO] Flink : Examples : Build Helper : .................. SKIPPED[INFO] Flink : Examples : Build Helper : Streaming Twitter  SKIPPED[INFO] Flink : Examples : Build Helper : Streaming State machine SKIPPED[INFO] Flink : Examples : Build Helper : Streaming Google PubSub SKIPPED[INFO] Flink : Container .................................. SKIPPED[INFO] Flink : Queryable state : Runtime .................. SKIPPED[INFO] Flink : Kubernetes ................................. SKIPPED[INFO] Flink : Yarn ....................................... SKIPPED[INFO] Flink : Libraries : Gelly .......................... SKIPPED[INFO] Flink : Libraries : Gelly scala .................... SKIPPED[INFO] Flink : Libraries : Gelly Examples ................. SKIPPED[INFO] Flink : External resources : ....................... SKIPPED[INFO] Flink : External resources : GPU ................... SKIPPED[INFO] Flink : Metrics : Dropwizard ....................... SKIPPED[INFO] Flink : Metrics : Graphite ......................... SKIPPED[INFO] Flink : Metrics : InfluxDB ......................... SKIPPED[INFO] Flink : Metrics : Prometheus ....................... SKIPPED[INFO] Flink : Metrics : StatsD ........................... SKIPPED[INFO] Flink : Metrics : Datadog .......................... SKIPPED[INFO] Flink : Metrics : Slf4j ............................ SKIPPED[INFO] Flink : Libraries : CEP Scala ...................... SKIPPED[INFO] Flink : Table : Uber ............................... SKIPPED[INFO] Flink : Python ..................................... SKIPPED[INFO] Flink : Table : SQL Client ......................... SKIPPED[INFO] Flink : Libraries : State processor API ............ SKIPPED[INFO] Flink : Scala shell ................................ SKIPPED[INFO] Flink : Dist ....................................... SKIPPED[INFO] Flink : Yarn Tests ................................. SKIPPED[INFO] Flink : E2E Tests : ................................ SKIPPED[INFO] Flink : E2E Tests : CLI ............................ SKIPPED[INFO] Flink : E2E Tests : Parent Child classloading program SKIPPED[INFO] Flink : E2E Tests : Parent Child classloading lib-package SKIPPED[INFO] Flink : E2E Tests : Dataset allround ............... SKIPPED[INFO] Flink : E2E Tests : Dataset Fine-grained recovery .. SKIPPED[INFO] Flink : E2E Tests : Datastream allround ............ SKIPPED[INFO] Flink : E2E Tests : Batch SQL ...................... SKIPPED[INFO] Flink : E2E Tests : Stream SQL ..................... SKIPPED[INFO] Flink : E2E Tests : Distributed cache via blob ..... SKIPPED[INFO] Flink : E2E Tests : High parallelism iterations .... SKIPPED[INFO] Flink : E2E Tests : Stream stateful job upgrade .... SKIPPED[INFO] Flink : E2E Tests : Queryable state ................ SKIPPED[INFO] Flink : E2E Tests : Local recovery and allocation .. SKIPPED[INFO] Flink : E2E Tests : Elasticsearch 5 ................ SKIPPED[INFO] Flink : E2E Tests : Elasticsearch 6 ................ SKIPPED[INFO] Flink : Quickstart : ............................... SKIPPED[INFO] Flink : Quickstart : Java .......................... SKIPPED[INFO] Flink : Quickstart : Scala ......................... SKIPPED[INFO] Flink : E2E Tests : Quickstart ..................... SKIPPED[INFO] Flink : E2E Tests : Confluent schema registry ...... SKIPPED[INFO] Flink : E2E Tests : Stream state TTL ............... SKIPPED[INFO] Flink : E2E Tests : SQL client ..................... SKIPPED[INFO] Flink : E2E Tests : File sink ...................... SKIPPED[INFO] Flink : E2E Tests : State evolution ................ SKIPPED[INFO] Flink : E2E Tests : RocksDB state memory control ... SKIPPED[INFO] Flink : E2E Tests : Common ......................... SKIPPED[INFO] Flink : E2E Tests : Metrics availability ........... SKIPPED[INFO] Flink : E2E Tests : Metrics reporter prometheus .... SKIPPED[INFO] Flink : E2E Tests : Heavy deployment ............... SKIPPED[INFO] Flink : E2E Tests : Connectors : Google PubSub ..... SKIPPED[INFO] Flink : E2E Tests : Streaming Kafka base ........... SKIPPED[INFO] Flink : E2E Tests : Streaming Kafka ................ SKIPPED[INFO] Flink : E2E Tests : Plugins : ...................... SKIPPED[INFO] Flink : E2E Tests : Plugins : Dummy fs ............. SKIPPED[INFO] Flink : E2E Tests : Plugins : Another dummy fs ..... SKIPPED[INFO] Flink : E2E Tests : TPCH ........................... SKIPPED[INFO] Flink : E2E Tests : Streaming Kinesis .............. SKIPPED[INFO] Flink : E2E Tests : Elasticsearch 7 ................ SKIPPED[INFO] Flink : E2E Tests : Common Kafka ................... SKIPPED[INFO] Flink : E2E Tests : TPCDS .......................... SKIPPED[INFO] Flink : E2E Tests : Netty shuffle memory control ... SKIPPED[INFO] Flink : E2E Tests : Python ......................... SKIPPED[INFO] Flink : E2E Tests : HBase .......................... SKIPPED[INFO] Flink : E2E Tests : AWS Glue Schema Registry ....... SKIPPED[INFO] Flink : E2E Tests : Pulsar ......................... SKIPPED[INFO] Flink : State backends : Heap spillable ............ SKIPPED[INFO] Flink : Contrib : .................................. SKIPPED[INFO] Flink : Contrib : Connectors : Wikiedits ........... SKIPPED[INFO] Flink : FileSystems : Tests ........................ SKIPPED[INFO] Flink : Docs ....................................... SKIPPED[INFO] Flink : Walkthrough : .............................. SKIPPED[INFO] Flink : Walkthrough : Common ....................... SKIPPED[INFO] Flink : Walkthrough : Datastream Java .............. SKIPPED[INFO] Flink : Walkthrough : Datastream Scala ............. SKIPPED[INFO] Flink : Tools : CI : Java .......................... SKIPPED[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time:  09:03 min[INFO] Finished at: 2022-01-18T10:24:24+08:00[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.9.1:npm (npm run build) on project flink-runtime-web_2.11: Failed to run task: 'npm run build --https-proxy=http://proxyuser:***@192.168.1.216:808 --proxy=http://proxyuser:***@192.168.1.216:808' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 139 (Exit value: 139) -> [Help 1][ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException[ERROR] [ERROR] After correcting the problems, you can resume the build with the command[ERROR]   mvn <args> -rf :flink-runtime-web_2.11npm 配置[root@hadoop47 flink-release-1.14.0]# npm config ls -l; cli configslong = truemetrics-registry = "https://registry.npm.taobao.org/"scope = ""user-agent = "npm/6.13.4 node/v12.14.1 linux arm64"; userconfig /root/.npmrcproxy = "http://192.168.1.216:808/"registry = "https://registry.npm.taobao.org/"unsafe-perm = true; default valuesaccess = nullallow-same-version = falsealso = nullalways-auth = falseaudit = trueaudit-level = "low"auth-type = "legacy"before = nullbin-links = truebrowser = nullca = nullcache = "/root/.npm"cache-lock-retries = 10cache-lock-stale = 60000cache-lock-wait = 10000cache-max = nullcache-min = 10cafile = undefinedcert = nullcidr = nullcolor = truecommit-hooks = truedepth = nulldescription = truedev = falsedry-run = falseeditor = "vi"engine-strict = falsefetch-retries = 2fetch-retry-factor = 10fetch-retry-maxtimeout = 60000fetch-retry-mintimeout = 10000force = falseformat-package-lock = truefund = truegit = "git"git-tag-version = trueglobal = falseglobal-style = falseglobalconfig = "/opt/tools/installed/node-v12.14.1-linux-arm64/etc/npmrc"globalignorefile = "/opt/tools/installed/node-v12.14.1-linux-arm64/etc/npmignore"group = 0ham-it-up = falseheading = "npm"https-proxy = nullif-present = falseignore-prepublish = falseignore-scripts = falseinit-author-email = ""init-author-name = ""init-author-url = ""init-license = "ISC"init-module = "/root/.npm-init.js"init-version = "1.0.0"json = falsekey = nulllegacy-bundling = falselink = falselocal-address = undefinedloglevel = "notice"logs-max = 10; long = false (overridden)maxsockets = 50message = "%s"; metrics-registry = null (overridden)node-options = nullnode-version = "12.14.1"noproxy = nulloffline = falseonload-script = nullonly = nulloptional = trueotp = nullpackage-lock = truepackage-lock-only = falseparseable = falseprefer-offline = falseprefer-online = falseprefix = "/opt/tools/installed/node-v12.14.1-linux-arm64"preid = ""production = falseprogress = true; proxy = null (overridden)read-only = falserebuild-bundle = true; registry = "https://registry.npmjs.org/" (overridden)rollback = truesave = truesave-bundle = falsesave-dev = falsesave-exact = falsesave-optional = falsesave-prefix = "^"save-prod = falsescope = ""script-shell = nullscripts-prepend-node-path = "warn-only"searchexclude = nullsearchlimit = 20searchopts = ""searchstaleness = 900send-metrics = falseshell = "/bin/bash"shrinkwrap = truesign-git-commit = falsesign-git-tag = falsesso-poll-frequency = 500sso-type = "oauth"strict-ssl = truetag = "latest"tag-version-prefix = "v"timing = falsetmp = "/tmp"umask = 18unicode = true; unsafe-perm = false (overridden)update-notifier = trueusage = falseuser = 1000; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch} {ci}" (overridden)userconfig = "/root/.npmrc"version = falseversions = falseviewer = "man"
  • [问题求助] we码(vue)如何应用第三方插件(如echarts),通过npm install 安装main.js引入,还是提示undefi
    we码(vue)如何应用第三方插件(如echarts),通过npm install 安装main.js引入,还是提示undefined