Install worker-farm to fix cpu detection bug

This commit is contained in:
Bob Mottram 2018-04-02 15:21:44 +01:00
parent 9dc754bc96
commit 115781093c
1 changed files with 10 additions and 4 deletions

View File

@ -60,6 +60,13 @@ function get_npm_arch {
fi
}
function nodejs_fix_cpu_detection {
if [ -f "$rootdir/usr/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js" ]; then
# fix for failing cpu detection during image build with qemu, see https://github.com/npm/npm/issues/19265
sed -i "s|require('os').cpus.*|1|g" "$rootdir/usr/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js"
fi
}
function mesh_install_nodejs {
mesh_install_nodejs_prefix=
if [ "$rootdir" ]; then
@ -130,10 +137,9 @@ function mesh_install_nodejs {
get_npm_arch
$mesh_install_nodejs_prefix npm config set unsafe-perm true
if [ -f "$rootdir/usr/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js" ]; then
# fix for failing cpu detection during image build with qemu, see https://github.com/npm/npm/issues/19265
sed -i "s|require('os').cpus().length|1|g" "$rootdir/usr/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js"
fi
nodejs_fix_cpu_detection
# installing worker farm fixes the cpu detection bug
$mesh_install_nodejs_prefix npm install --arch=$NPM_ARCH -g worker-farm@1.5.2 --save
$mesh_install_nodejs_prefix npm install --arch=$NPM_ARCH -g npm@${NPM_VERSION} --save
if [ -f "$rootdir/usr/local/bin/npm" ]; then
cp "$rootdir/usr/local/bin/npm" /usr/bin/npm