首页 > 解决方案 > 无法从批处理文件运行 NPM

问题描述

所以我正在尝试制作一个小脚本来运行我的 tomcat 服务器并npm run serve启动我的 vue 项目。但是,如果我打开 CMD 并 cd 进入项目,那么我可以做npm run serve并且它确实可以工作,但是如果我尝试从批处理文件中调用它,它就不起作用了。vue 应用程序位于名为“test-app”的文件夹中这是我的批处理文件:

set CATALINA_HOME="C:\workspaces\apache-tomcat-8.5.39"
set PATH="%CATALINA_HOME%\bin"
set PATH=%APPDATA%\npm;%PATH%
start cmd /k call "C:\workspaces\apache-tomcat-8.5.39\bin\startup.bat"
start cmd /k call "test-app/webserver.bat"

webserver.bat:

cd test-app
call npm run serve

tomcat 服务器启动一切正常,但显然不是这样。这是输出:

C:\Users\Kenneth\Desktop\Start av servere>cd test-app

C:\Users\Kenneth\Desktop\Start av servere\test-app>call npm run serve
'npm' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\Kenneth\Desktop\Start av servere\test-app>

我也试过

cd test-app
start npm run serve

cd test-app
call npm run serve

cd test-app
npm run serve

标签: node.jsbatch-filenpm

解决方案


我删除set PATH=%APPDATA%\npm;%PATH%并添加set PATH="C:\Program Files\nodejs"到主批处理文件中。所以它看起来像这样:

echo "Vent litt så starter serverne - tar ca 2min for komplett oppstart. Ikke lukk vinduene som åpner."
set CATALINA_HOME="C:\workspaces\apache-tomcat-8.5.39"
set PATH="%CATALINA_HOME%\bin"
set PATH="C:\Program Files\nodejs"
start cmd /k call "C:\workspaces\apache-tomcat-8.5.39\bin\startup.bat"
start cmd /k call "test-app/webserver.bat"

推荐阅读