zoukankan      html  css  js  c++  java
  • Wepy 微信小程序项目踩坑记

    今天接到一个新任务,修改一个 wepy 框架开发的微信小程序。

    在代码的 REDEAD.md 文件里:

    npm install wepy-cli -g
    wepy -v
    1.7.3
    
    $ npm install @wepy/cli -g # 全局安装 WePY CLI 工具
    $ wepy init standard myproj # 使用 standard 模板初始化项目
    $ cd myproj # 进入到项目目录
    $ npm install # 安装项目依赖包
    $ npm run dev # 监听并且编译项目

    按照要求用命令:npm install wepy-cli -g 安装框架,结果安装完成后,wepy -v 后的版本是 2.1.0。

    继续: npm install 安装依赖包的时候报错,忘记截图了,反正大概意思是:用2.x版本运行1.x版本

    没办法,只能卸载 wepy-cli,重新装指定版本

    先用的命令卸载,但是没起作用,只好去 AppData 的 npm 里直接删掉,然后重新安装1.7.3版本:

    //查看版本
    npm ls -g --depth=0
    
    //卸载 wepy-cli
    npm uninstall -g wepy-cli
    
    //安装特定版本 @1.7.3
    npm install -g wepy-cli@1.7.3

    然后运行:npm run dev

    提示如图:

    按照操作提示,输入:npm install wepy --save

    然后就提示个:

    再次运行:npm run dev 命令,还是报上面一样的问题。头大了。。。

    百度找了半天,发现了一个类似的问题:

    在某个项目内npm install时,老是报以下错误:

    npm ERR! code EINTEGRITY npm ERR! sha1-7Qoe24fAXU2xA3xfj0g9ijtfCCU= integrity checksum failed when using sha1: wanted sha1-7Qoe24fAXU2xA3xfj0g9ijtfCCU= but got sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== sha1-psC74fOPOqC5Ijjstv9Cw0TUE10=. (1511 bytes)
    
    npm ERR! A complete log of this run can be found in: npm ERR! /Users/acer/.npm/_logs/2019-03-09T14_42_43_549Z-debug.log 安装 create-nuxt-app@latest 失败,错误代码:1

    解决办法:

    给 npm set config registry 更改了源。改回官方的 npm 源就能解决问题:

    运行命令:

    npm config set registry https://registry.npmjs.org
    
    // 或者
    
    npm config set registry https://registry.npm.taobao.org

    提示如图:

    继续百度,发现了一个类似问题:

    运行 npm install 安装项目依赖时报错,异常信息如下:
    npm ERR! code EINTEGRITY npm ERR! sha1-xxxxxx integrity checksum failed when using sha1: wanted sha1-xxxxxx but got sha512-xxxxxx sha1-yyyyyyy. (10379 bytes)

    解决办法:

    方式一:直接删除 package-lock.json 文件,重新执行 npm install 即可。
    博主在尝试了各种方式无果后,才使用了这种方式,亲测可行。
    package-lock.json官方文档

    马后炮一下:其实不难发现异常信息中表达的信息就是文件的校验值匹配不上。提到匹配,那一定是涉及到两个东西之间的对比。在这个场景下,一方就是下载下来的文件的sha1值,另一方就是本地记录的sha1值。那本地记录的sha1值是记录在哪里呢?通过全局搜索不难定位到 package-lock.json。简单粗暴操作就是直接删掉 package-lock.json 即可避免sha1校验错误的问题。至于为什么这一次下载的文件的sha1值和上一次下载时记录的sha1值不一致,这还有待考究。

    (以下方式来源网络,对我无效,这里也记录下来,后来者可尝试)

    方式二:升级 npm,重新执行 npm install

    升级npm npm install -g npm
    安装项目依赖 npm install

    方式三:清缓存,重新执行 npm install

    删除项目下的 node_modules
    删除用户缓存 C:Users{USER_NAME}AppDataRoaming 下的 npm和npm-cache
    删除全局缓存 {NODE_HOME}/node_cache
    验证缓存 npm cache verify
    安装项目依赖 npm install

    我用的方式一,然后又提示:

    再次百度大神,找到解决方案:直接在当前目录下进行node-sass 的数据源没设置

    npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass

    再次执行:

    npm i

    提示如图:

    说是发现了21个漏洞,按照提示运行:npm audit fix

    再次 npm install 

    19个漏洞需要手动检查,无法更新。。

    不管他了,重新运行:npm run dev ,或者开启实时编译:wepy build --watch

    OK,终于跑起来了,不容易。。。

    记录一下踩坑过程,以便有小伙伴遇到类似问题。

  • 相关阅读:
    C++ Primer 笔记——语句
    C++ Primer 笔记——const 限定符
    C++ Primer 笔记——变量
    C++ Primer 笔记——函数
    C++ Primer 笔记——基本内置类型
    图的遍历算法:DFS、BFS
    python数据结构之图论
    下载文件的协议:HTTP、FTP、P2P
    HTTPS协议
    HTTP协议
  • 原文地址:https://www.cnblogs.com/joe235/p/14508455.html
Copyright © 2011-2022 走看看