pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NodeJS with NPM



Because lang/npm is quite problematic to build and update (requires
internet connection to pull the dependencies, and so on),

(I'm assuming is for post branch, as it seems a major change and not
comfortable with respect to "all problems on all platforms, even ones we
can't test on, are expected to be resolved by branch start".  I haven't
been seeing complaints from users about the current situation, so it
doesn't seem like an emergency.)

Can be post-branch, yes.

I don't object, but I would like to understand this better.

Can you explain the sitation with lang/npm?  It sounds like you are
saying it doesn't conform to pkgsrc rules of no net usage at build time.
I built it and didn't spot that, but I realize these things are sneaky.
If it isn't using the net at build time, I don't follow.

Without the net you would end-up with something like

npm ERR! network request to https://registry.npmjs.org/tap/-/tap-16.3.0.tgz failed, reason: getaddrinfo ENOTFOUND registry.npmjs.org

If I remember correctly, we had a discussion about how difficult it is to pull the dependencies from npmjs.
 

I would like to remove the package and enable npm for all lang/node
packages, as it is a default distribution option for NodeJS, and I
think users expect NodeJS to come with npm.

Are you saying that if you build and install node following upstream
build instructions that you will get an npm executable?

Correct.

Are the npm sources in the nodejs source tarballs?  Are they the same as
what lang/npm uses?

Yes. Npm repo (https://github.com/npm/cli) says: npm comes bundled with node, & most third-party distributions, by default.


What do other packaging systems do?  (On a Debian system, I have nodejs
installed and no npm executable.  But I realize that there are split
packages.  On a Raspberry Pi OS system, with node from an alternate
repo, I do have /bin/npm.)

Correct, Debian and Ubuntu have npm as a separate package.

Why will whatever is problematic with building npm as a package not be
problematic when npm is built within the nodejs build?

Simply, I don't have the time to dig into the problem. It is fairly easy to build npm with nodejs, and currently our lang/npm is outdated: NodeJS 19 comes with npm 9.5.1.


Home | Main Index | Thread Index | Old Index