After reading the documentation, I still don't have a clear idea about this.
Let's say I specify
"dependencies": {"some_package": ^3.1.1}
in my package.json
, and the latest compatible (i.e. consistent with the semantic versioning declared above) version of some_package
is actually 3.4.9
. If I were to run npm install
, would that automatically install version 3.4.9
?
You can use the npm semver calculator
to determine what version will be installed. Where it says to enter a range, enter ^3.1.1
. Since I don't know what some_package
is, I can't check myself, but you can.
To understand ranges that start with a caret (^
), read the semver
doc. Caret means "install the most recent version that doesn't change the left-most non-zero digit". So ^3.1.1
means "install the latest 3.x version". So, yes, it will install 3.4.9
or later if they are available.