簡體   English   中英

帶有React的ASP.NET Core 2.2 InvalidOperationException:無法啟動'npm'

[英]ASP.NET Core 2.2 with React InvalidOperationException: Failed to start 'npm'

我使用React + Redux在ASP.NET COre 2.2中創建了一個網站。

在VS2019本地工作正常,但當我轉移到IIS10,其中有另一個正確運行的ASP.NET Core WebAPI應用程序,我收到錯誤:

InvalidOperationException:無法啟動'npm'

NodeJ已安裝,並保存在C:\\ Program Files \\ NodeJs中。 如果我運行npm -v我正確得到版本。

該網站的應用程序池當前正在運行身份Local System

環境變量正確設置正確的路徑,甚至錯誤消息都可以看到它:

[1]確保已安裝'npm',並且可以在其中一個PATH目錄中找到。 當前PATH環境變量是:C:\\ Windows \\ system32; C:\\ Windows; C:\\ Windows \\ System32 \\ Wbem; C:\\ Windows \\ System32 \\ WindowsPowerShell \\ v1.0 \\; C:\\ Program Files \\ dotnet \\; C:\\ Program Files(x86)\\ dotnet \\; C:\\ Program Files \\ nodejs \\; C:\\ Windows \\ system32 \\ config \\ systemprofile \\ AppData \\ Local \\ Microsoft \\ WindowsApps確保可執行文件位於其中一個目錄中,或更新PATH。

堆棧是:

System.AggregateException: Se han producido uno o varios errores. ---> System.AggregateException: Se han producido uno o varios errores. ---> System.InvalidOperationException: Failed to start 'npm'. To resolve this:.

[1] Ensure that 'npm' is installed and can be found in one of the PATH directories.
    Current PATH enviroment variable is: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\dotnet\;C:\Program Files (x86)\dotnet\;C:\Program Files\nodejs\;C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps
    Make sure the executable is in one of those directories, or update your PATH.

[2] See the InnerException for further details of the cause. ---> System.ComponentModel.Win32Exception: El nombre del directorio no es válido
   en System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   en System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   en Microsoft.AspNetCore.NodeServices.Npm.NpmScriptRunner.LaunchNodeProcess(ProcessStartInfo startInfo)
   --- Fin del seguimiento de la pila de la excepción interna ---
   en Microsoft.AspNetCore.NodeServices.Npm.NpmScriptRunner.LaunchNodeProcess(ProcessStartInfo startInfo)
   en Microsoft.AspNetCore.NodeServices.Npm.NpmScriptRunner..ctor(String workingDirectory, String scriptName, String arguments, IDictionary`2 envVars)
   en Microsoft.AspNetCore.SpaServices.ReactDevelopmentServer.ReactDevelopmentServerMiddleware.<StartCreateReactAppServerAsync>d__3.MoveNext()
   --- Fin del seguimiento de la pila de la excepción interna ---
   en System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   en System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   en Microsoft.AspNetCore.SpaServices.ReactDevelopmentServer.ReactDevelopmentServerMiddleware.<>c.<Attach>b__2_0(Task`1 task)
   en System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   en System.Threading.Tasks.Task.Execute()
   --- Fin del seguimiento de la pila de la excepción interna ---
   en System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   en Microsoft.AspNetCore.SpaServices.Extensions.Util.TaskTimeoutExtensions.<WithTimeout>d__1`1.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
   en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   en Microsoft.AspNetCore.SpaServices.Extensions.Proxy.SpaProxy.<PerformProxyRequest>d__4.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
   en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   en Microsoft.AspNetCore.Builder.SpaProxyingExtensions.<>c__DisplayClass2_0.<<UseProxyToSpaDevelopmentServer>b__0>d.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
   en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   en Microsoft.AspNetCore.Builder.RouterMiddleware.<Invoke>d__4.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
   en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   en Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.<Invoke>d__7.MoveNext()
--- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
   en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   en Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.<Invoke>d__7.MoveNext()
---> (Nº de excepción interna 0) System.AggregateException: Se han producido uno o varios errores. ---> System.InvalidOperationException: Failed to start 'npm'.

我該如何解決? 我不知道還能做什么......

此錯誤與npm cant相關,因此您需要檢查您的環境變量。 確保當你進入nodejs文件夾時,你會像這樣npm文件

在此輸入圖像描述

所以檢查系統變量

在此輸入圖像描述

在用戶變量中

在此輸入圖像描述

暫無
暫無

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

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