NeoTerrm/NeoTerm

npm install commands fail on Android 8 - os.cpus() returns undefined

XeroAlpha opened this issue · 3 comments

目前有个临时的解决方案:root打开node,例如 sudo npm i ws

看到了,/proc/stat 不可读引起的权限问题。
从 Android P 开始,/proc 已经不可能被非系统 app 读取了。
也许有其他解决办法,把 api level 降低也许有用

直接改 /data/data/io.neoterm/files/usr/lib/node_modules/npm/node_modules/worker-farm/lib/farm.js,按你的手机 cpu 核心数写上去,亲测可用。

'use strict'

const DEFAULT_OPTIONS = {
          maxCallsPerWorker           : Infinity
        , maxConcurrentWorkers        : 8 // !!! here
        , maxConcurrentCallsPerWorker : 10
        , maxConcurrentCalls          : Infinity
        , maxCallTime                 : Infinity // exceed this and the whole worker is terminated
        , maxRetries                  : Infinity
        , forcedKillTime              : 100
        , autoStart                   : false
      }