28

我是 node 和 npm 的新手,并试图了解 AutoRest。

当我输入

autorest --list-available

进入powershell ISE我得到

AutoRest code generation utility [version: 2.0.4262; node: v10.1.0]
(C) 2018 Microsoft Corporation.
https://aka.ms/autorest
autorest : (node:12580) ExperimentalWarning: The fs.promises API is experimental
At line:1 char:1
+ autorest --list-available
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: ((node:12580) Ex...is experimental:String) [], RemoteExc 
   eption
    + FullyQualifiedErrorId : NativeCommandError

 Extension Name                 Version       

 @microsoft.azure/autorest-core 2.0.4278       
 @microsoft.azure/autorest-core 2.0.4277       
 @microsoft.azure/autorest-core 2.0.4276       
 @microsoft.azure/autorest-core 2.0.4275       
 @microsoft.azure/autorest-core 2.0.4274       
 @microsoft.azure/autorest-core 2.0.4272       
 @microsoft.azure/autorest-core 2.0.4271       
 @microsoft.azure/autorest-core 2.0.4269       
 @microsoft.azure/autorest-core 2.0.4263       
 @microsoft.azure/autorest-core 2.0.4262       
Failure:
TypeError: volume[member].bind is not a function
TypeError: volume[member].bind is not a function
    at patchFilesystem 
(C:\Users\kirst\AppData\Roaming\npm\node_modules\autorest\dist\static-loader.js:277:43)
    at C:\Users\kirst\AppData\Roaming\npm\node_modules\autorest\dist\static-loader.js:281:18
    at Object.global.staticloader.undo 
(C:\Users\kirst\AppData\Roaming\npm\node_modules\autorest\dist\static-loader.js:163:7)
    at process.exit.n [as exit] 
(C:\Users\kirst\AppData\Roaming\npm\node_modules\autorest\dist\static-loader.js:170:27)
    at main (C:\Users\kirst\AppData\Roaming\npm\node_modules\autorest\dist\app.js:153:21)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:12580) UnhandledPromiseRejectionWarning: Error: EBADF: bad file descriptor, close
    at Object.fs.closeSync (fs.js:529:3)
    at StaticVolumeFile.shutdown 
(C:\Users\kirst\AppData\Roaming\npm\node_modules\autorest\dist\static-loader.js:352:10)
    at StaticFilesystem.shutdown 
(C:\Users\kirst\AppData\Roaming\npm\node_modules\autorest\dist\static-loader.js:406:17)
    at process.exit.n [as exit] 
(C:\Users\kirst\AppData\Roaming\npm\node_modules\autorest\dist\static-loader.js:169:11)
    at main (C:\Users\kirst\AppData\Roaming\npm\node_modules\autorest\dist\app.js:239:17)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:12580) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated 
either by throwing inside of an async function without a catch block, or by rejecting a promise 
which was not handled with .catch(). (rejection id: 1)
(node:12580) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the 
future, promise rejections that are not handled will terminate the Node.js process with a non-zero 

怎么了?退出代码。

4

7 回答 7

29

更新到最新的节点版本 (v12.6+) 会删除警告。

于 2020-04-06T21:10:52.823 回答
18

是的,您可以放心地忽略此警告。如果您想禁止它(以及所有警告),请使用node --no-warnings而不是运行您的脚本node

在您的示例中:

node --no-warnings `which autorest`
于 2018-10-21T13:06:30.977 回答
15

我使用的node@^10.15.1是旧版本,所以我将其更新为12.16.1or12.16.2并得到修复。

于 2020-04-13T17:17:28.880 回答
9

该模块autorest使用新fs语法,而不是回调使用 Promises。然而,这还不稳定,因此是警告。没什么好担心的,除非你想在生产中使用它。但即便如此,只要您将 autorest 与 node 一起更新,就不会出现问题。

至于错误,可能是您的配置中的某些内容。尝试制作最小的错误示例并将问题发布到 autorest git。

于 2018-05-21T14:30:59.550 回答
8

我在node@10.16.1,我更新它12.18.2,它得到了修复!

于 2020-07-02T11:26:21.290 回答
3

可能是因为您更新了 npm 版本,但没有更新节点版本。我将 npm 版本从 6.3.0 更新到 7.16.0 [此时最新],但仍然使用 11.3.0 作为节点。为了修复这个版本,我将 node 更新到了最新的 LTS,即 14.17.0 [LTS at this time]。

nvm install 14.17.0 // Check for the LTS
nvm use 14.17.0
nvm alias default 14.17.0
于 2021-06-10T13:50:17.217 回答
2

在 Angular10中,这只是为您的代码提供服务时的一个警告,从今天开始您可以忽略它。

于 2020-08-02T17:13:48.553 回答