1. ホーム
  2. npm

[解決済み】ExperimentalWarning: fs.promises APIは実験的です。

2022-02-21 06:57:22

質問

私は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 

何が起こっているのでしょうか? 終了コードです。

解決方法は?

モジュール autorest は、新しい fs 構文では、コールバックの代わりにプロミスが使用されます。しかし、これはまだ安定していないため、警告が表示されています。実運用で使いたいのでなければ、特に心配することはありません。しかし、その場合でも、autorestとnodeを一緒に更新する限り、問題は発生しないはずです。

エラーに関しては、設定に何か原因があるのかもしれません。最小限のエラーサンプルを作成し、autorestのgitにissueを投稿してください。