已经把 vite 删除了,使用 vite -v 显示查找不到命令,但是为什么还是可以创建 vite 项目
我主要是想创建 vite@2.8.7 版本的项目,但是创建出来的是 3.2.3 的,即使安装了 2.8.7 版本的,但是创建出来的还是 3.2.3 版本的 ,如何解决?
已经把 vite 删除了,使用 vite -v 显示查找不到命令,但是为什么还是可以创建 vite 项目
我主要是想创建 vite@2.8.7 版本的项目,但是创建出来的是 3.2.3 的,即使安装了 2.8.7 版本的,但是创建出来的还是 3.2.3 版本的 ,如何解决?
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 通常有两种安装方式:全局安装、当前项目node_modules。你卸载了全局安装的vite,所以命令没了,而npm init
一般会先安装包到当前项目node_modules, 尔后执行node_modules/.bin/vite
命令
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.8k 阅读✓ 已解决
3 回答10.3k 阅读✓ 已解决
4 回答7.2k 阅读
5 回答7.1k 阅读✓ 已解决
5 回答8.2k 阅读
npm init
和npm 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 版本换成你想要的固定版本就行