删除旧版本的create-react-app

时间:2020-04-22 09:46:47

标签: reactjs npm create-react-app npx

我想使用View.OnClickListener脚本创建一个新的react应用。我仍然安装了不再支持的全局版本,因此我卸载了该全局版本并尝试创建一个新的版本,如下所示:

   @Override
            public void onClick(View view) {

                int position = getAdapterPosition();
                Bundle dataToSend = new Bundle();
                dataToSend.putSerializable("mural_from_list", allItems.get(position));
                Navigation.findNavController(view).navigate(R.id.list_to_detail, dataToSend);
            } 

然后我得到一个没有使用模板的错误,并且我可能使用了旧版本的create-react-app。我在网上阅读了这份DID的作品:

create-react-app

我读到,这意味着即使我确实卸载了全局版本,仍然可以获得较旧的版本。那么,如何删除其他任何较旧版本的create-react-app?

3 个答案:

答案 0 :(得分:1)

npx是执行软件包的工具,而npm是主要用于安装软件包的工具。这意味着,如果您要执行一个程序包而不在计算机上安装它,然后启动它,则可以直接使用npx

全局卸载库
使用npm uninstall -g create-react-app,然后使用which create-react-app检查它是否已成功从计算机中删除。如果仍然存在,请手动将其删除。

Linux

rm -rf /usr/local/bin/create-react-app
  • -r -尝试删除植于每个文件参数中的文件层次结构,即从指定目录中递归删除子目录和文件。
  • -f –尝试删除文件而无需提示确认,无论文件的权限如何

Windows

del /f/s/q C:\nodejs\node_modules\npm\bin\create-react-app > nul
rmdir /s/q C:\nodejs\node_modules\npm\bin\create-react-app
  • / f -强制删除只读文件。
  • / q -启用安静模式。不会询问您是否可以删除文件(如果不使用它,则会询问文件夹中是否有文件)。
  • / s –在所选结构下任何文件夹中的所有文件上运行命令。

最后,您可以将最新版本与npx create-react-app myapp一起使用。

答案 1 :(得分:0)

如果将来某人发现此问题,并且上述解决方案无济于事,我会为自己找到解决方法。

我尝试了一切,包括npm uninstall -g create-react-app似乎什么也没做。

然后我终于从旧的安装中找到了这个:C:\Users\<username>\AppData\Roaming\npm\ 其中有2个与React相关的文件,其名称与create-react-app.cmd或类似名称相同。从该文件夹删除任何与之相关的内容。

然后在同一路径中删除该文件夹:

C:\Users\<username>\AppData\Roaming\npm\node_modules\create-react-app

如果漫游文件夹中没有以上任何内容,则问题出在其他地方。以上文件必须保留在旧的npm react安装中,由于某些原因,uninstall命令不会删除该文件。

这为我解决了所有问题,最终我可以使用npx create-react-app创建一个正常运行的项目。

答案 2 :(得分:0)

我在带有 Mojave (10.14.6) 的 MB Pro 2012 上遇到了这个问题,并在推荐的解决方案之后尝试了很多不同的东西

Please remove any global installs with one of the following commands:
- npm uninstall -g create-react-app
- yarn global remove create-react-app

我尝试使用 nvm 一次切换到我的每个节点版本并运行这两个版本。我尝试卸载我拥有的所有节点版本。我跑了

which create-react-app

什么也没得到。

我试图看看我是否可以像原始海报一样回避,但是当我跑了

npx --ignore-existing create-react-app myapp

我收到一条错误消息,指出忽略现有选项现已被禁用。

有些帖子提到了 npm 缓存的问题,所以我跑了

nvm cache clear

但没有骰子。我正在阅读其他帖子,并看到一些提到使用自制软件卸载节点的内容,所以我开始走这条路:

brew doctor

然后

brew update

然后

brew upgrade

在那之后,我想也许它是安装在 node 的系统版本中的,nvm 对我隐藏了它。所以,为了访问系统节点,我跑了

nvm deactivate

然后我跑了

which create-react-app

我又一无所获。最后,我尝试使用node的系统版本实际运行命令

npx create-react-app my-app

这一次,我得到了:

Need to install the following packages:
  create-react-app
Ok to proceed? (y) y

Creating a new React app in /Users/my_username...

这次安装成功了。然后当我在 nvm 激活的情况下打开另一个终端并且能够运行时

npx create-react-app trying-again

终于成功了。

TLDR;

nvm deactivate
npx create-react-app my-app
# say yes when it asks you to install
# close that terminal and open another and you should be able to use the command as normal