ChatGPT解决这个技术问题 Extra ChatGPT

运行“npm install”时,“x 软件包正在寻找资金”是什么意思?

react 项目上运行 npm install 时,我通常会得到 "x packages are looking for funding."。知道这意味着什么吗?

版主说明:这个问题现在是being discussed on Meta。请就那里是否是主题进行所有讨论,而不是在这里留下评论。

j
jonrsharpe

当您在命令提示符下运行 npm update 时,它会建议您键入一个名为 npm fund 的新命令。

当您运行 npm fund 时,它会列出您安装的所有模块和软件包,这些模块和软件包是由需要 资金 用于其 IT 项目的公司或组织创建的。您将看到一个您可以向他们汇款的网页列表。所以“资金”的意思是“你安装的 Angular 包可以使用你的一些钱来帮助支持他们的业务”。

它基本上是您拥有的需要为其项目捐款或捐款的模块的列表,其中列出了您可以输入信用卡以帮助支付费用的网站。


请注意,这是一个 npm 功能,它并不特定于 Angular。使用 React 或 Vue 或其他任何东西,你都会得到同样的信息。
到目前为止,我认为 npm fund 做了一些关于依赖关系解析的事情。所以这个答案得到了赞成。
有趣的。我真的在阅读消息时想到了它,但为了确定而用谷歌搜索它
同样在这里。我想大多数使用 node 的人也认为 npm fund 会解决一些关于包依赖的问题。
A
ArunPratap

npm 决定添加一个新命令:npm fund,这将使 npm 用户更清楚地了解哪些依赖项正在积极寻找为其工作提供资金的方法。

npm install 还将在末尾显示一条消息,以让用户知道依赖项正在寻找资金,如下所示:

$ npm install
packages are looking for funding.
run `npm fund` for details.

运行 npm fund <package> 将在您的浏览器中打开为该给定包列出的 URL。

For more details look here


npm 是一个包管理器,因此它应该坚持管理包业务,而不是“让请求资金的人可见”。那应该是另一个命令,例如“show-who-need-funds”
@GianlucaGhettini 问题是现有软件包在安装过程中已经在打印请求资金/捐赠的消息。让 npm 打印一条消息比让 20 个不同的包打印它们自己的捐赠请求要好得多。几乎唯一的选择是:添加此功能,让软件包继续打印自己的消息,或者在不提供任何替代方案的情况下禁止此类消息。他们并不是真的想通过强加最后一个选项来惹恼包开发人员,所以他们想要第一个。
@GianlucaGhettini 我认为从包中请求资金也是管理包的一部分,所以 npm 并没有在这个功能上做错。
@ErisanOlasheni 我认为管理包意味着安装/卸载/更新包。故事结局。你有没有见过“ls”Linux 命令要求还做其他事情,比如创建、删除、重命名文件?
J
Jeroen Landheer

首先,尽可能支持开源开发人员,他们将大量(空闲)时间投入到这些软件包中。但是如果你想摆脱资金消息,你可以配置 NPM 来关闭这些。执行此操作的命令是:

npm config set fund false --global

...或者如果您只想为特定项目关闭它,请在项目目录中运行它:

npm config set fund false 

有关执行此操作的详细信息,请参阅@Stokely 和@ArunPratap 的答案。


很好的解释,你开始很好:请支持他们,但是如果我认为正确的话,好吧,算了吧,走你的路,这就是诀窍;)
@Timo 乍一看似乎是这样,但还有其他原因可以关闭它。例如,我的公司支持几个包作者,所以我的所有开发团队每次运行更新时都不需要在他们的屏幕上显示这些消息。 (为此,我们将 fund=false 放入项目的 .npmrc 文件中。)
S
Sabrina

您可以使用以下方式跳过资金:

npm install --no-fund YOUR PACKAGE NAME

例如:

npm install --no-fund core-js

如果需要安装多个包:

npm install --no-fund package1 package2 package3

但是我有 59 个包,有没有办法一步跳过资金,或者我必须为单个包单独做?
alias npmi='npm install --no-fund'
更好:alias npm='npm --no-fund'
更好:Linux 上的 echo "npmf='npm install --no-fund'" >> ~/.bash_aliases && source ~/.bash_aliases
更好的是:npm config set fund false --global(来自 Jeroen Landheer 对此问题的回答)
Y
Yusuf

首先,这不是错误或警告。如果您希望向构建您在项目中安装/使用的软件包的公司/个人或个人捐赠一些钱,这基本上是一条消息,要查看哪个软件包,只需在终端中输入

npm fund

以及下面要捐赠的软件包名称及其网站 URL 的列表。我希望这是有帮助的..


S
Sven Eberth
npm config set false --global 
npm config set fund false

欢迎来到 StackOverflow。虽然这些命令可能会回答问题,但提供有关它们如何和/或为什么解决问题的额外上下文将提高答案的长期价值。此外,已经有一个公认的答案......
A
Anupama Karunarathna
npm fund [<pkg>]

此命令检索有关如何为给定项目的依赖项提供资金的信息。如果没有提供包名,它将以树形结构列出所有正在寻找资金的依赖项,其中列出了资金的类型和要访问的 url。可以使用以下命令禁用该消息: npm install --no-fund


C
Chandraarnav

这些是开源项目(或开发人员),可以使用捐款来资助他们的业务。

在 npm 中,命令 npm fund 将列出您可以资助的网址

在作曲家中,命令 composer fund 将执行相同的操作。

虽然上面提到了一些可以用来摆脱资助信息的选项,但如果可以的话,尽量支持这一事业。


S
Sven Eberth
npm install --silent

似乎压制了资金问题。


问题不是压制信息,而是要理解它的含义!
H
Haris Beg

我建议不要压制资助信息。它仅供参考。至少,它们会让您了解第 3 方 npm 包面临的潜在风险之一。