[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