一,版本问题
使用npx creact-react-app project 只生成了node_modules, package.json and packageloack.json,生成不全,
并且cmd会报一个问题:
A template was not provided. This is likely because you're using an outdated version
of create-react-app. Please note that global installs of create-react-app are no longer supported.
(翻译:未提供模板。这可能是因为您正在使用过时的create react app版本。请注意,不再支持create react app的全局安装。)
因为Create react-app 这个脚手架更新了版本,而我本地是之前全局安装的脚手架1.0版本,目前根据官方文档的新创建语句
npx create-react-app demo(默认会运行新版本的脚手架),所以是我的脚手架版本不是新版造成的。
1,解决方法
我在网上找了很久,尝试了很多方法都不尽人意。目前可以创建项目所用到的方法是:
创建语句:create-react-app myapp(你的项目名称) --scripts-version=react-scripts@1.x
这个语句的意思是,使用1.0版本的脚手架创建项目,虽然治标不治本但将就能用。
以下是我所找到的可以更新脚手架的方法,只有一部分人可以用,很不幸我不是那部分幸运的人。
首先,根据官方文档,需要查看自己的node,npm版本是否达到要求,你需要在你的机器上安装 Node >= 8.10 和
npm >= 5.6,在cmd使用命令 noce -v ,npm -v,即可查看。
官方文档给的创建项目步骤:
npx create-react-app my-app
cd my-app
npm start
备注:第一行的 npx 不是拼写错误 —— 它是 npm 5.2+ 附带的 package 运行工具。
如果你接下来也很不幸的报了跟我一样的错误,请往下看,
npm uninstall -g create-react-app/npm rm -g create-react-app(卸载安装的旧版本)但是我卸载了也不管用
谷歌上热心网友做完这一步之后,还有接下来的建议:
从用户root从node_modules删除create-react-app
如果你和我一样找不到create-react-app,你可以考虑下面热心网友删除的做法:
{当我卸载它时,在/usr/local/lib/node_modules找不到该文件夹;
但是它仍然失败( npx --ignore-existing create-react-app可以使用。)
然后在/usr/local/bin找到该文件夹,然后删除create-react-app文件夹,它可以工作}
我在删除文件夹之后创建项目时报错了:
Error: Cannot find module 'C:\Users\DELL\AppData\Roaming\npm\node_modules\create-react-app\index.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
所以我暂时没能继续下去。
2,我不能理解但是有人成功的方法
npm install -g create-react-app
npx create-react-app my-app
3,其他无用的尝试
我还尝试删除了npm的缓存npm cache clean -f
另一种方式清除 npm 缓存,目录:C:\Users\Administrator\AppData\Roaming\npm-cache 删除该目录下的所有文件
我还尝试给我的npm换了个镜像:npm config set registry https://registry.npm.taobao.org 之后 npm config get registry