vite 已经卸载了,为什么还是可以使用?如何创建指定版本?

已经把 vite 删除了,使用 vite -v 显示查找不到命令,但是为什么还是可以创建 vite 项目
image.png

我主要是想创建 vite@2.8.7 版本的项目,但是创建出来的是 3.2.3 的,即使安装了 2.8.7 版本的,但是创建出来的还是 3.2.3 版本的 ,如何解决?
image.png

阅读 5.1k
6 个回答

npm initnpm create 相同

npm init vite 相当于 下载并执行 create-vite

一般情况下,create-vite 会根据你选择的模板把 packages/create-vite 内的模板复制到当前目录

你想要创建 vite@2.8.7 项目,但是 create-vite 并没有这个版本,最接近的只有 2.8.0 和 2.9.0

而且 package.json 用的是 "vite": "^2.8.0" 实际上安装的时候会安装 2.x.x 其中 x 取最大值

综上,你只需要运行 npm create vite@2 然后把 package.json 里的 vite 版本换成你想要的固定版本就行

npm create vite@2.8.7

npm init vite 相当于 npx create-vite,所以npm会先安装create-vite这个包,然后执行其bin指向的文件,然后根据其逻辑执行下载相应的模板。

"bin": {
    "create-vite": "index.js",
    "cva": "index.js"
},

他因为你用的命令是 npm init vite 它将会安装并执行 vite。因为你没有指定版本所以就默认安装了最新的。


而 npm init 有是怎么样的一个命令呢为什么会安装并执行 cureate-vue
其实就是 npm create 的别名。为了对标 yarn create 而出现的东西。

你也可以查看这个链接去了解详情, 👉 npm-init

如果你想要安装指定的版本,请使用 npm i vite@x.y.z,这个 x.y.z 就可以是你想要的 2.8.7 版本。

npm i vite@2.8.7 但是vite还在快速迭代中,比较推荐用新不用旧

npm init vite 相当于执行 npx vite

npm 通常有两种安装方式:全局安装、当前项目node_modules。你卸载了全局安装的vite,所以命令没了,而npm init一般会先安装包到当前项目node_modules, 尔后执行node_modules/.bin/vite命令

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏