node.js - 无法从批处理文件运行 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
解决方案
我删除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"
推荐阅读
- mpi - MPI 3 共享内存和缓存冲突
- python - 我想使用 Selenium Python 从谷歌搜索中获取前 10 个图像 url
- ldap - 组的 Openfire LDAP 配置
- odoo-8 - AttributeError:'datetime.date'对象在创建选项时没有属性'hour' - 按小时分组
- mysql - Powershell sql查询与cron作业中的逻辑
- python - Django - 如何在基于更新类的视图中更新之前获取对象属性?
- c - 是否可以将相同的地址分配给 C 中的两个不同的全局变量?
- java - 在 PDF 图像中嵌入颜色空间(ICC 配置文件)的 iText
- python - __init__ 中的值没有返回正确的值?
- scala - scala.js 1.0 中的@JSGlobalScope(JavaScriptException、ReferenceError、var 未定义)