关于运行 npm run serve/dev 运行不起来,node_modules Git忽略不了等(问题)

文章目录

      • [npm run serve/dev 运行问题](#npm run serve/dev 运行问题)
      • [node_modules Git 忽略不了](#node_modules Git 忽略不了)

前言:需要根据项目的情况、场景自行辨别对应的情况

npm run serve/dev 运行问题

  • 情况一
    直接 clone 的项目忘了 npm install,这种情况看一下当前项目是否存在 node_modules,没有的话 npm i 然后运行就好了
  • 情况二
    error when starting dev server:
    TypeError: crypto$2.getRandomValues is not a function
    该情况是 node 版本不对应,新版的 vite 项目需要更高的 node 版本,需要 Node.js 18+ 版本运行

可以安装一个 nvm 做 node 版本控制,对于多个项目中的 node 切换非常方便

  • 情况三

    项目中已经存在 node_modules 还是无法运行,需要重新 npm i,这种情况大概率是丢失了 .bin 文件导致的运行不了

  • 特殊情况

    在内网环境下,项目初期将 node_modules 与代码一起提交到 Git 仓库。由于同事的代码迭代,导致 Git 仓库中 .bin 文件丢失,使得最新版本的代码无法运行。本地 node_modules 未变动,导致 Git 仓库与本地代码一致,但依赖包不一致。项目刚接手时发现代码无法运行,部分功能在几个月前正常,最近突然失效。(气不活了😂,这个项目刚转到我手上结果代码跑不起来,问题排查搞了一下午)

解决方案

  1. 克隆项目到两个目录
    • 主文件目录:用于日常开发和代码提交
    • 切换文件目录:用于切换分支,寻找包含完整 .bin 文件的 node_modules
  2. 查找可用的 node_modules
    • 在切换文件目录中,从最新提交开始,逐步回退到历史提交
    • 检查每个提交的 node_modules 是否包含 .bin 文件
    • 找到第一个包含完整 .bin 文件的提交
  3. 替换 node_modules
    • 删除主文件目录中的 node_modules
    • 将切换文件目录中找到的完整 node_modules 复制到 主文件目录(注意:必须删除原有 node_modules,直接替换可能无效)
  4. 验证项目功能
    • 运行项目,检查功能是否恢复正常
    • 如果功能正常,提交代码到 Git 仓库

node_modules Git 忽略不了

由于在远端仓库已经推过了 node_modules,导致即使在 .gitignore 文件中配置了也无法忽略
解决方案

  • 忽略 node_modules 文件,git rm -r --cached node_modules 该指令并不是删除了 node_modules,只是做了忽略处理
  • 还有一种情况是该项目的包已经锁定,不需要忽略 node_modules,但是每次运行项目的时候会产生不一样缓存文件 node_modules/.cache,这样会造成每次提交代码会提交一堆缓存文件,可以单独忽略 git rm -r --cached node_modules/.cache
相关推荐
江天澄1 天前
HTML5 中常用的语义化标签及其简要说明
前端·html·html5
知识分享小能手1 天前
jQuery 入门学习教程,从入门到精通, jQuery在HTML5中的应用(16)
前端·javascript·学习·ui·jquery·html5·1024程序员节
美摄科技1 天前
H5短视频SDK,赋能Web端视频创作革命
前端·音视频
黄毛火烧雪下1 天前
React Native (RN)项目在web、Android和IOS上运行
android·前端·react native
fruge1 天前
前端正则表达式实战合集:表单验证与字符串处理高频场景
前端·正则表达式
百锦再1 天前
第10章 错误处理
java·git·ai·rust·go·错误·pathon
baozj1 天前
🚀 手动改 500 个文件?不存在的!我用 AST 撸了个 Vue 国际化神器
前端·javascript·vue.js
用户4099322502121 天前
为什么Vue 3的计算属性能解决模板臃肿、性能优化和双向同步三大痛点?
前端·ai编程·trae
海云前端11 天前
Vue首屏加速秘籍 组件按需加载真能省一半时间
前端
蛋仔聊测试1 天前
Playwright 中route 方法模拟测试数据(Mocking)详解
前端·python·测试