全局或本地节点安装软件包

时间:2020-01-15 12:00:30

标签: javascript npm package npm-install

我在本地安装了create-react-app软件包。但这没有用。当我使用-g在全局安装它时,它可以工作。

我遇到了其他几个软件包,其中一些在全局安装时有效,但在本地安装时无效,反之亦然。

人们如何知道要在全局或本地安装的特定软件包?

2 个答案:

答案 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/

  • npm是主要用于安装软件包的工具。
  • npx是执行软件包的工具。

这是什么意思?那就是,如果您要执行一个程序包而不在计算机上安装它,然后启动它,则可以直接使用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