我在本地安装了create-react-app软件包。但这没有用。当我使用-g
在全局安装它时,它可以工作。
我遇到了其他几个软件包,其中一些在全局安装时有效,但在本地安装时无效,反之亦然。
人们如何知道要在全局或本地安装的特定软件包?
答案 0 :(得分:1)
使用npx create-react-app
,这将下载React Cli
,在创建项目后,它将从您的本地系统中删除Cli
。
npm将首先扫描项目中的本地node_module文件夹(如果找到该软件包),然后它将使用它,否则它将升至树并在全局软件包中搜索。
所有项目依赖项都可以在项目中全局或本地使用。
但是在这种情况下,create-react-app
用作外壳程序工具而不是项目依赖项,因此它必须位于PATH环境变量中。
如果要安装要在程序中使用的内容,请使用require('whatever'),然后在项目的根目录本地安装。
如果要在shell中安装要使用的东西,在命令行上或其他东西,请全局安装它,以便其二进制文件最终位于PATH环境变量中。
尝试一下,希望这可以解决问题。
答案 1 :(得分:1)
我不认为这应该发生。您可以按照此文档了解全局设置与本地设置:
https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/
这是什么意思?那就是,如果您要执行一个程序包而不在计算机上安装它,然后启动它,则可以直接使用npx。例如
- create-react-app是用于引导React项目的实用程序。
- 如果将其与npx(npx create-react-app my-app)一起使用,则无需安装create-react-app本身,就可以使用my-app项目。
- npm安装create-react-app,然后如果使用npm,则创建create-react-app my-app