【问题标题】:Running Node in Wine on Ubuntu在 Ubuntu 上用 Wine 运行节点
【发布时间】:2021-10-10 06:33:21
【问题描述】:

我知道这有点奇怪,但不知何故我们有这种需求。

我们曾经在 node v10 和 wine v5.0 上运行,这很好。最近我尝试将节点升级到 v16。我尝试了wine v5.0、v6.0、v6.18,出现了不同的问题。

到目前为止,wine v6.18 看起来很有希望。但是,当我尝试在 z:\ 或 npm 命令中运行任何 js 文件时,它会引发以下错误。 (在c:\ node test.js 可以,但是npm还是不行)

Error: EINVAL: invalid argument, lstat 'Z:\'
    at Object.realpathSync (node:fs:2444:5)
    at toRealPath (node:internal/modules/cjs/loader:394:13)
    at Function.Module._findPath (node:internal/modules/cjs/loader:550:22)
    at resolveMainPath (node:internal/modules/run_main:15:25)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:73:24)
    at node:internal/main/run_main_module:17:47 {
  errno: -4071,
  syscall: 'lstat',
  code: 'EINVAL',
  path: 'Z:\\'
}

有人知道吗?

【问题讨论】:

    标签: node.js wine


    【解决方案1】:

    这个问题是由npm/cmd-shim#54 中的一个错误引起的,当shebang 获得更多参数时。

    比如下面的shebang就不错了:

    #!/usr/bin/env node
    

    但是,下面的一个会导致你的问题:

    #!/usr/bin/env -S node --loader ts-node/esm
    

    还有另一个issue 描述了这个问题,并且在here 有一个修复它的请求请求

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-26
      • 2017-06-04
      • 2017-04-27
      • 2015-01-20
      • 1970-01-01
      • 2019-09-10
      • 1970-01-01
      相关资源
      最近更新 更多