BitBucket経由でAzure Web Appsにnode.js APIをデプロイしようとしています。このプロセスは、インストール後にコンパイルする必要のあるプライベートレポを追加するまでうまくいきました。Azure: 'npm'が内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されないのはなぜですか
私はpostinstall-build npmパッケージを使用して、インストール後のbabel-cliを実行してes2015コードをプライベートnpmリポジトリのes5にコンパイルします。
これは私の開発マシンでは完全に機能しますが、文字通り他のパッケージをインストールしているにもかかわらず、Azureはいくつかの理由でnpmを認識しません。
は、ここでのログの一部です:
...
> [email protected] install D:\home\site\wwwroot\node_modules\dtrace-provider
> node scripts/install.js
> [email protected] postinstall D:\home\site\wwwroot\node_modules\private-repo
> postinstall-build lib 'npm run compile'
{ [Error: Command failed: 'npm
''npm' is not recognized as an internal or external command,
operable program or batch file.
] killed: false, code: 1, signal: null, cmd: '\'npm' }
[email protected] D:\home\site\wwwroot
npm ERR! Windows_NT 6.2.9200
...
そして、ここでpackage.json
"postinstall": "postinstall-build lib 'npm run compile'"
から "インストール後" スクリプトと "コンパイル" スクリプトです:
"compile": "babel --presets es2015,stage-0 --plugins add-module-exports -d lib/ src/",
だから私たちが "postinstall"スクリプトを実行しているという点に着目すると、npmは間違いなくそこにあります物事をやっているのですが、 "postinstall"スクリプトを実行する何らかの理由で、別のシェルなどで実行する必要があります。
他に誰かがこれに遭遇しましたか?
npmのフルパスを指定すると役立ちますか? '' D:\ Program Files(x86)\ npm'''からnpmのサポートされているすべてのバージョンを取得できます。 –
これを試してみてください...意味があります。これはAzure Web Appのnpmへの正しいパスですか? – SomethingOn
これはフォルダーです。その下にサポートされているNPMのリストがあります。 http:// {yourname} .scm.azurewebsites.net/DebugConsoleに行き、それにナビゲートすると、それらのすべてが表示されます。 –