簡體   English   中英

Azure:為什么無法獲取“ npm”,所以無法將其識別為內部或外部命令,可操作程序或批處理文件

[英]Azure: Why do I get 'npm' is not recognized as an internal or external command, operable program or batch file

我正在嘗試通過BitBucket將node.js API部署到Azure Web Apps。 在添加需要在安裝后進行編譯的私有存儲庫之前,該過程運行良好。

我正在使用postinstall-build npm軟件包運行babel-cli后安裝程序,以在私有npm存儲庫中將es2015代碼編譯為es5。

這在我的開發機器上完美運行,但是Azure出於某些愚蠢的原因無法識別npm,即使它實際上是在安裝其他軟件包。

這是日志的一部分:

...    
> dtrace-provider@0.6.0 install D:\home\site\wwwroot\node_modules\dtrace-provider
    > node scripts/install.js


    > js-models@0.0.2 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' }
    787-api@0.0.1 D:\home\site\wwwroot
    npm ERR! Windows_NT 6.2.9200
...

這是package.json中的“ postinstall”腳本

"postinstall": "postinstall-build lib 'npm run compile'"

和“編譯”腳本:

"compile": "babel --presets es2015,stage-0 --plugins add-module-exports -d lib/ src/",

因此,我們甚至快要運行“ postinstall”腳本這一事實告訴我,npm確實存在並且正在執行操作,但是出於某種原因,當“ postinstall”腳本運行時,必須在不同的shell中執行它,或者的東西。

還有其他人遇到過這種情況嗎,有沒有解決的辦法?

要從私有存儲庫安裝節點模塊,您可以嘗試在BitBucket上設置SSH deploy key ,請遵循以下部分: For private repos, set up a deploy key私有倉庫,請For private repos, set up a deploy key Kudu Wiki For private repos, set up a deploy key以進行連續部署,並參見在BitBucket上使用部署密鑰的圖。

在此處輸入圖片說明

這似乎與另一個問題有關。 我的問題已通過此處描述的解決方案解決: LUIS-app:嘗試安裝“ Kudu Sync”時,“ npm”未被識別為內部或外部命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM