npm install returns Syntax Error: Unexpected identifier

npm install returns Syntax Error: Unexpected identifier

突然,当我使用 npm install 更新我的应用程序中的包时,我收到以下错误:

module.exports = async process => {
                       ^^^^^^^
SyntaxError: Unexpected identifier
    at Object.exports.runInThisContext (vm.js:76:16)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/opt/bitnami/nodejs/lib/node_modules/npm/bin/npm-cli.js:2:1)
    at Module._compile (module.js:570:32)

经过搜索,我确定我是 运行 最新版本的 Node (16.14.2),将默认别名设置为此版本,并删除旧版本的 node。我现在的设置如下:

{
  'app-name': '1.0.0',
  npm: '8.5.0',
  node: '16.14.2',
  v8: '9.4.146.24-node.20',
  uv: '1.43.0',
  zlib: '1.2.11',
  brotli: '1.0.9',
  ares: '1.18.1',
  modules: '93',
  nghttp2: '1.45.1',
  napi: '8',
  llhttp: '6.0.4',
  openssl: '1.1.1n+quic',
  cldr: '40.0',
  icu: '70.1',
  tz: '2021a3',
  unicode: '14.0',
  ngtcp2: '0.1.0-DEV',
  nghttp3: '0.1.0-DEV'
}

我无法更新 npm,也无法直接使用 curl -qL https://www.npmjs.com/install.sh | sudo sh 安装 npm,这只是 returns 'Failed!'.

这是在生产服务器上,所以我希望尽可能避免完全重新安装。

我发现了问题。节点的路径被我的 Bitnami 发行版中的两个文件修改,这导致无法使用正确的版本。

我发现解决方案是将 /usr/local/bin 添加到从 ~/.bashrc 和 /home/bitnami/.bitnamirc 导出的路径中,如下所述。

https://community.bitnami.com/t/how-to-upgrade-nodejs-in-bitnami-server/57857/21?page=2