夜听城嚣 夜听城嚣
首页
  • 学习笔记

    • 《JavaScript高级程序设计》
    • 前端基建与架构
  • 专题分享

    • Git入门与开发
    • 前端面试题汇总
    • HTML和CSS知识点
  • 项目实践
  • 抓包工具
  • 知识管理
  • 工程部署
  • 团队规范
bug知多少
  • 少年歌行
  • 青年随笔
  • 文海泛舟
  • 此事躬行

    • 项目各工种是如何协作的
    • TBA课程学习
收藏

dwfrost

前端界的小学生
首页
  • 学习笔记

    • 《JavaScript高级程序设计》
    • 前端基建与架构
  • 专题分享

    • Git入门与开发
    • 前端面试题汇总
    • HTML和CSS知识点
  • 项目实践
  • 抓包工具
  • 知识管理
  • 工程部署
  • 团队规范
bug知多少
  • 少年歌行
  • 青年随笔
  • 文海泛舟
  • 此事躬行

    • 项目各工种是如何协作的
    • TBA课程学习
收藏
  • chrome控制台怎么复制对象
  • 小程序键盘弹起后顶起自定义导航问题
  • node子进程如何输出和关闭
  • 代理域名后webpack热更新失效及解决
  • 小程序scroll-view隐藏滚动条
  • npm包相关
    • electron下载慢解决
    • electron开发踩坑
    • mac升级后git找不到
    • electron打包找不到python
    • 安装imagemin-mozjpeg失败
    • 开发中的bug类型踩坑
    • 云端web项目开发踩坑
    • 如何快速定位bug
    • bug知多少
    frost
    2022-08-02

    npm包相关

    npm 包管理工具是前端工程化必不可少的一环,然而其所涉知识非常庞杂,官方文档只提供简洁的介绍,还有更多细节的使用方式可能是默认的形式出现,需要去社区追溯渊源。本文 收集遇到的 npm 相关的零散问题,以供未来所需。

    # 关于 link 标识符

    此 link 并非npm link,而是指dependencies下的本地包链接标识符。文档并未介绍相关知识,是在阅读 vite 源码的时候发现的,如下:

    {
      "devDependencies": {
        "types": "link:./types"
      }
    }
    
    1
    2
    3
    4
    5

    types 使用如下

    import type { Connect } from 'types/connect'
    
    1

    看起来没什么,自己手写的时候 ts 就 报错了。

    Cannot find module 'types/connect' or its corresponding type declarations.ts(2307)
    
    1

    google 一下,找到相关链接 (opens new window)。

    然后执行npm i,又报错。

    npm ERR! code EUNSUPPORTEDPROTOCOL
    npm ERR! Unsupported URL Type "link:": link:./types
    
    1
    2

    想到 vite 建议使用 pnpm 来启动,于是执行pnpm i,至此问题解决。

    • tips 其实 yarn 也有类似的问题,不过 yarn 支持 file 来替代 link。见issue (opens new window)。
    {
      "devDependencies": {
        "types": "file:./types"
      }
    }
    
    1
    2
    3
    4
    5

    执行yarn install即可。

    # npm config set命令

    这个命令是自定义 npm 的环境变量,一般用于设置依赖包镜像。

    npm config set test_mirror http://test.com
    
    1

    然后可以查看刚刚设置的变量。

    npm config get test_mirror
    # http://test.com
    
    1
    2

    也可以去全局环境变量的配置文件查看

    npm config get userconfig
    
    1

    控制台会输出用户自定义配置文件的路径,如

    C:\Users\admin\.npmrc
    
    1

    打开该.npmrc 文件,发现末尾已经有一行变量

    test_mirror=http://test.com
    
    1

    # nvm 切换 node 后,npm install 失败

    低版本 node(如 14.18.1)切换到高版本(如 16.17.0),切换成功。但随之运行npm i则报错:

    npm ERR! Unexpected token '.'
    
    1

    网上搜索,认为是 nvm 低版本的原因,将其升级到 1.1.9 则可以(我的是 1.1.7)。

    升级后还是不能安装,将 noce 升级到 V17 就可以了。

    # nvm use 出现乱码

    nvm 安装与使用 (opens new window)

    通过github 安装 nvm (opens new window)的方式下载 setup.exe 版本,一路安装,结果在切换 node 版本时报错,且为乱码。

    exit status 5: �ܾ����ʡ�
    
    1

    控制台输入:chcp 65001,再重新运行nvm use 14.18.1,此时乱码内容可以正常显示:

    exit status 5: Access is denied.
    
    1

    权限不够,用管理员身份打开 cmd 运行即可。

    #npm#bug
    上次更新: 2022/10/21, 18:46:09
    小程序scroll-view隐藏滚动条
    electron下载慢解决

    ← 小程序scroll-view隐藏滚动条 electron下载慢解决→

    最近更新
    01
    提交代码时修改commit消息
    04-09
    02
    如何快速定位bug
    02-20
    03
    云端web项目开发踩坑
    08-25
    更多文章>
    Theme by Vdoing | Copyright © 2021-2025 dwfrost | 粤ICP备2021118995号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×