pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
lang/nodejs lang/npm problems
Hi,
I tried to install some static site generator the other day and found a few problems with the above. This is all done on a fully updated pkgsrc-current on a NetBSD 10.99.1 (amd64) host and (using the same pkgsrc tree) on a Rocky Linux 9.1. They both seem to install lang/nodejs 19.2 OK. The NetBSD system fails to install lang/npm 8.15.1 because node refuses to make use of the ipv4 DNS resolution:
...
+ node . i --ignore-scripts --no-audit --no-fund
npm ERR! code EHOSTUNREACH
npm ERR! syscall connect
npm ERR! errno EHOSTUNREACH
npm ERR! request to https://registry.npmjs.org/tap/-/tap-16.3.0.tgz failed, reason: connect EHOSTUNREACH 2606:4700::6810:1923:443 - Local (:::65478)
...
If I install the latest npm on NetBSD using
curl -qL https://www.npmjs.com/install.sh | sh
it fails the same way:
npm -d ping 130 ↵
npm info using npm@9.2.0
npm info using node@v19.2.0
npm notice PING https://registry.npmjs.org/
npm ERR! code EHOSTUNREACH
npm ERR! syscall connect
npm ERR! errno EHOSTUNREACH
npm ERR! request to https://registry.npmjs.org/-/ping?write=true failed, reason: connect EHOSTUNREACH 2606:4700::6810:1923:443 - Local (:::65444)
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-12-20T11_05_38_619Z-debug-0.log
This npm also appears to fail the same way even if invoked with --dns-result-order=ipv4first. My ISP doesn't support ipv6 yet; I thought this was a network issue, but a few other Linux vms with different nodejs/npm versions were working, so it didn't look like a network-level issue.
On the other hand, I can install lang/npm 8.15.1 on the Rocky Linux vm via pkgsrc, but it fails to run pointing to a missing module - one which is not required by npm 9.2:
npm
node:internal/modules/cjs/loader:409
const err = new Error(
^
Error: Cannot find module '/usr/pkg/lib/node_modules/npm/node_modules/gauge/node_modules/aproba/index.js'. Please verify that the package.json has a valid "main" entry
at tryPackage (node:internal/modules/cjs/loader:409:19)
at Module._findPath (node:internal/modules/cjs/loader:651:18)
at Module._resolveFilename (node:internal/modules/cjs/loader:1025:27)
at Module._load (node:internal/modules/cjs/loader:885:27)
at Module.require (node:internal/modules/cjs/loader:1105:19)
at require (node:internal/modules/cjs/helpers:103:18) at Object.<anonymous> (/usr/pkg/lib/node_modules/npm/node_modules/gauge/lib/render-template.js:3:16)
at Module._compile (node:internal/modules/cjs/loader:1218:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1272:10)
at Module.load (node:internal/modules/cjs/loader:1081:32) {
code: 'MODULE_NOT_FOUND',
path: '/usr/pkg/lib/node_modules/npm/node_modules/gauge/node_modules/aproba/package.json',
requestPath: 'aproba'
}
Node.js v19.2.0
...............
Finally, If I install npm 9.2.0 on the Linux system via the curl command above, it works just fine on the same network:
# nodejs --version
sh: nodejs: command not found
# node --version
v19.2.0
# which node
/usr/pkg/bin/node
# npm version
{
npm: '9.2.0',
node: '19.2.0',
v8: '10.8.168.20-node.8',
uv: '1.44.2',
zlib: '1.2.13',
brotli: '1.0.9',
ares: '1.18.1',
modules: '111',
nghttp2: '1.51.0',
napi: '8',
llhttp: '8.1.0',
openssl: '1.1.1s',
cldr: '42.0',
icu: '72.1',
tz: '2022e',
unicode: '15.0'
}
# npm ping
npm notice PING https://registry.npmjs.org/
npm notice PONG 336ms
.....................
Apologies for the not very clear explanation, but it appears there are two problems - npm 8.15.1 being not compatible with nodejs 19.2.0 and node 19.2.0 under NetBSD-current refusing to use the ipv4 dns records. At the moment npm appears unusable either way under NetBSD-current, whereas under Linux with pkgsrc, it works if the latest version is manually installed.
--
----
Chavdar Ivanov
Home |
Main Index |
Thread Index |
Old Index