]> code.ossystems Code Review - openembedded-core.git/commit
npm: fix node and npm default directory conflict
authorJean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Fri, 17 May 2019 15:14:09 +0000 (17:14 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 21 May 2019 11:56:16 +0000 (12:56 +0100)
commit2d72007deea7ed529f82b8a6e67e2715dd0a0dca
tree20b6e81c911bd9aaad712c44285159917c85c596
parentb6ffa59d03fbf53d1681fce5f8c3c1f163cf9923
npm: fix node and npm default directory conflict

Fixes [YOCTO #13349]

When dealing with node modules which have declared "bin" files [1], npm
will create a link in '/usr/bin' with a relative link to
'../lib/node_modules/<module bin file>'.

The commits e9270af4296ce2af292059617a717e42fc17425c and
2713d9bcc39c712ef34003ce8424416441be558e explicitely use
'/usr/lib/node/' as install directory, but does not care about the "bin"
symbolic linked files.

In order to keep valid links, and to keep it as simple as possible, the
path '/usr/lib/node_modules/' is used as install directory for npm. And
a symbolic link is created to have a valid '/usr/lib/node/' path, needed
for node.

[1]: https://docs.npmjs.com/files/package.json#bin

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/npm.bbclass