ChatGPT解决这个技术问题 Extra ChatGPT

What does 'x packages are looking for funding' mean when running `npm install`?

I usually get "x packages are looking for funding." when running npm install on a react project. Any idea what that means?

Moderator Note: This question is now being discussed on Meta. Please take all discussion about whether or not it is on-topic there, instead of leaving comments here.

j
jonrsharpe

When you run npm update in the command prompt, when it is done it will recommend you type a new command called npm fund.

When you run npm fund it will list all the modules and packages you have installed that were created by companies or organizations that need money for their IT projects. You will see a list of webpages where you can send them money. So "funds" means "Angular packages you installed that could use some money from you as an option to help support their businesses".

It's basically a list of the modules you have that need contributions or donations of money to their projects and which list websites where you can enter a credit card to help pay for them.


Note that this a npm feature, it's not specific to Angular. You would get that same message with React or Vue or anything else.
Up until now I thought npm fund did something regarding dependency resolution. So this answer gets an upvote.
Interesting. I really thought of it when read the message, but googled it just to be sure
Same here. I think most of the people who use node also thought that npm fund will fix some issues regarding package dependency.
A
ArunPratap

npm decided to add a new command: npm fund that will provide more visibility to npm users on what dependencies are actively looking for ways to fund their work.

npm install will also show a single message at the end in order to let user aware that dependencies are looking for funding, it looks like this:

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

Running npm fund <package> will open the url listed for that given package right in your browser.

For more details look here


npm is a package manager, and as such it should stick to the managing packages business, not to "make visibile people requesting funds". That should be another command, something like "show-who-need-funds"
@GianlucaGhettini The problem was that existing packages were already printing messages asking for funding/donations during the install process. Having npm print a single message was determined to be far nicer than having say 20 different packages each print their own request for donations. Pretty much the only options were: adding this feature, letting packages continue to print their own message, or banning such messages without providing any alternative. They did not really want to annoy package developers by imposing the last option, so they want with the first.
@GianlucaGhettini I think requesting funds from a package is also part of managing the package, so npm is not doing so wrong with this feature.
@ErisanOlasheni I think managing a package means installing/unsinstalling/updating a package. End of story. Have you ever seen the "ls" Linux command asking to also do something else like creating, deleting, renaming a file?
J
Jeroen Landheer

First of all, try to support open source developers when you can, they invest quite a lot of their (free) time into these packages. But if you want to get rid of funding messages, you can configure NPM to turn these off. The command to do this is:

npm config set fund false --global

... or if you just want to turn it off for a particular project, run this in the project directory:

npm config set fund false 

For details why this was implemented, see @Stokely's and @ArunPratap's answers.


Well explained, you start nice: please support them, but hhmmm if I think right, ok forget about it, go your way and here is the trick;)
@Timo At first glance it might seem like that, but there are other reasons to turn this off. E.g. my company supports a couple of package authors, so there's no need to bother all my dev team with those messages on their screen every time they run an update. (We put fund=false in our project's .npmrc file for this.)
S
Sabrina

You can skip fund using:

npm install --no-fund YOUR PACKAGE NAME

For example:

npm install --no-fund core-js

If you need to install multiple packages:

npm install --no-fund package1 package2 package3

but i have 59 pakages, is there a way to skip funding in one step or i have to do sperately for single pakage ?
alias npmi='npm install --no-fund'
Even better: alias npm='npm --no-fund'
Even better : echo "npmf='npm install --no-fund'" >> ~/.bash_aliases && source ~/.bash_aliases on Linux
Even better: npm config set fund false --global (from Jeroen Landheer's answer to this question)
Y
Yusuf

first, it's not an error or warning. it's basically a message to you to donate some money if you wish to the company/people or individual who built a package you have installed/used in your project, to see which package, simply type in your terminal

npm fund

and a list of the packages names and their website URLs underneath to donate. I hope this is helpful..


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

Welcome to StackOverflow. While these commands may answer the question, providing additional context regarding how and/or why they solves the problem would improve the answer's long-term value. Furthermore there is already an accepted answer...
A
Anupama Karunarathna
npm fund [<pkg>]

This command retrieves information on how to fund the dependencies of a given project. If no package name is provided, it will list all dependencies that are looking for funding in a tree-structure in which are listed the type of funding and the url to visit. The message can be disabled using: npm install --no-fund


C
Chandraarnav

These are Open Source projects (or developers) which can use donations to fund to help support their business.

In npm the command npm fund will list the urls where you can fund

In composer the command composer fund will do the same.

While there are options mentioned above using which one can use to get rid of the funding message, but try to support the cause if you can.


S
Sven Eberth
npm install --silent

Seems to suppress the funding issue.


The question is not to suppress the message, it's to understand what it means!
H
Haris Beg

I would recommend against suppressing the funding message. It is informational only. At the very least they would give you some idea of one the potential risks that the 3rd party npm package is facing.