我尝试运行此命令npx create-react-app my-app
并收到此错误
error @typescript-eslint/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9df8eef1f4f3e9b0edf1e8faf4f3dda9b3a8b3ad" rel="noreferrer noopener nofollow">[email protected]</a>: The engine "node" is incompatible with this module. Expected version "^10.12.0 || >=12.0.0". Got "11.13.0"
error Found incompatible module.
奇怪的是我使用了node版本15.0.1(最新)和yarn版本1.22.10(最新),而npx使用的版本得到了“11.13.0”
,它不存在我的机器。
有人遇到这个问题吗?请帮忙,非常感谢。
最佳答案
在 Windows 上情况可能有所不同,但在类 UNIX 操作系统(包括 macOS)上,您可以通过以下命令找到 npx
正在执行的 node
的路径: :
/usr/bin/env node -p process.execPath
这是因为 npx
文件以 #!/usr/bin/env Node
开头。因此,您可以使用 /usr/bin/env node
执行与 npx
相同的 node
。
-p
表示“打印值”和 process.execPath
是可执行文件的路径。
为什么要执行上述操作而不只是使用哪个 Node
?
which
将报告别名,这意味着它将报告您将在 shell 中看到的 node
可执行文件。这不是 npx
将使用的内容,这似乎有可能解释为什么 npx
可能使用与您预期不同的 Node.js 版本。
$ alias node=echo
$ node foo
foo
$ which node
node: aliased to echo
$ /usr/bin/env node -p process.execPath
/Users/trott/.nvm/versions/node/v15.0.1/bin/node
$
关于node.js - npx 运行的 Node 版本在我的计算机上不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64512568/