[Pkg-javascript-devel] Bug#932659: Bug#969986: Bug#969986: npm: Error: Cannot find module 'semver'
Kevin Locke
kevin at kevinlocke.name
Wed Sep 9 21:12:09 BST 2020
reassign 969986 nodejs
merge 969986 932659
thanks
On Wed, 2020-09-09 at 21:11 +0200, Jonas Smedegaard wrote:
> Quoting Kevin Locke (2020-09-09 20:32:01)
>> Did you try installing to a chroot:
>>
>> debootstrap testing npm-chroot && chroot npm-chroot sh -c 'apt install -y npm && npm --version'
>
> I tried above command just now (inside another chroot), and it failed:
>
> [...]
> Error: Cannot find module 'semver'
> [...]
>
> Installing npm into a clean pbuilder chroot (either sid or bullseye) and
> running "npm --version" does not fail, however.
Good catch. I am seeing the same behavior. It looks to me like a
difference in the node module search path, not specific to npm.
If I run `node -e 'console.log(require.resolve.paths("semver"))'` in the
chroot, I get (note the missing /usr prefix):
[
'/node_modules',
'/root/.node_modules',
'/root/.node_libraries',
'/lib/x86_64-linux-gnu/nodejs',
'/share/nodejs',
'/lib/nodejs'
]
In pbuilder I get:
[
'/node_modules',
'/root/.node_modules',
'/root/.node_libraries',
'/usr/lib/x86_64-linux-gnu/nodejs',
'/usr/share/nodejs',
'/usr/lib/nodejs'
]
I think the problem is that process.execPath is "node" in the chroot and
"/usr/bin/node" in pbuilder and that this is used to build the module
search path. The problem occurs when /proc is not mounted.
It appears this was already reported in #932659. Sorry for not noticing
that earlier.
Thanks,
Kevin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20200909/92aaa5ec/attachment-0001.sig>
More information about the Pkg-javascript-devel
mailing list