私はノードとnpmを初めて使用し、オートレストを理解しようとしています。
入力すると
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
は、コールバックの代わりにPromiseを使用する新しいfs
構文を使用します。ただし、これはまだ安定していないため、警告です。本番環境で使用したくない限り、特に心配することはありません。しかし、それでも、autorestをnodeと一緒に更新する限り、問題は発生しません。
エラーに関しては、それはあなたの設定に何かがあるかもしれません。最小限のエラーサンプルを作成し、問題をautorest gitに投稿してください。
はい、この警告は無視してかまいません。それ(およびすべての警告)を抑制したい場合は、node
ではなくnode --no-warnings
を使用してスクリプトを実行します。
あなたの例では:
node --no-warnings `which autorest`
以前のバージョンであるnode@^10.15.1
にいたので、それを12.16.1
または12.16.2
に更新すると修正されました。
したがって、ノードのバージョンを最新バージョンに更新すると、それが修正されます。