Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python npm安装-确定安装结束_Python_Npm_Npm Install - Fatal编程技术网

Python npm安装-确定安装结束

Python npm安装-确定安装结束,python,npm,npm-install,Python,Npm,Npm Install,使用python自动化工具,我在项目中运行命令npm install,然后运行npm run build,以构建.war文件并将其放入tomcat服务器 我每次都需要运行npm install,因为我每次都使用Jenkins擦除文件夹并创建一个新的git克隆 问题是python脚本试图找到一个我预先确定的句子,以确认它可以启动下一个任务,但是当我运行命令npm install时,没有明确的方法可以确定任务已经完成,因为这是输出的结束: | `-- is-buffer@1.1.5 +-- we

使用python自动化工具,我在项目中运行命令
npm install
,然后运行
npm run build
,以构建.war文件并将其放入tomcat服务器

我每次都需要运行
npm install
,因为我每次都使用Jenkins擦除文件夹并创建一个新的git克隆

问题是python脚本试图找到一个我预先确定的句子,以确认它可以启动下一个任务,但是当我运行命令
npm install
时,没有明确的方法可以确定任务已经完成,因为这是输出的结束:

|   `-- is-buffer@1.1.5
+-- webpack-war-plugin@1.0.0-beta.3
| +-- archiver@1.3.0
| | +-- archiver-utils@1.3.0
| | | +-- glob@7.1.2
| | | `-- lazystream@1.0.0
| | +-- async@2.4.1
| | +-- buffer-crc32@0.2.13
| | +-- glob@7.1.2
| | +-- tar-stream@1.5.4
| | | +-- bl@1.2.1
| | | `-- end-of-stream@1.4.0
| | +-- walkdir@0.0.11
| | `-- zip-stream@1.1.1
| |   `-- compress-commons@1.2.0
| |     `-- crc32-stream@2.0.0
| |       `-- crc@3.4.4
| `-- typescript@2.3.4
+-- whatwg-fetch@1.1.1
`-- write@0.3.3
`-- fs-exists-sync@0.1.0

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\browser-sync\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

但产出并不总是一样的。我所要寻找的是一种方法,可以正确地知道命令是这样执行的:
npm安装完成的
。除非有更好的方法。(它必须在windows和linux上工作)

要在
npm install
的输出结束时将
npm install done
打印到日志文件中:

npm install >> D:\npmInstall.log 2>&1 && echo npm install done >> D:\npmInstall.log 2>&1

要在
npm install
的输出结束时将
npm install done
打印到日志文件中,请执行以下操作:

npm install >> D:\npmInstall.log 2>&1 && echo npm install done >> D:\npmInstall.log 2>&1

等待
npm安装过程退出有什么不对?e、 例如,
supprocess.call()
proc.wait()
做了什么?我正在使用的python工具将命令的输出记录到一个文件中,并等待在该文件中找到一个预定的字符串,然后再启动下一个命令。遗憾的是,我没有选择。谢谢你提出更好的建议,而不是仅仅说它设计得很糟糕。如果不了解你的所有要求,我就不能提出建议。根据您的问题,您只需要一个带有
npm安装的两行shell脚本;npm运行构建
,但显然我没有所有的细节。所以我可以有一个包含两个命令的bat文件,让它们都登录到同一个文件中,然后在构建完成时进行验证?(验证
npm run build
是否结束要简单得多。只等待
npm install
进程退出有什么不对?例如,什么
supprocess.call()
proc.wait()
是吗?我正在使用的python工具将命令的输出记录到一个文件中,并等待在该文件中找到一个预定的字符串,然后再启动下一条命令。很遗憾,我没有选择的余地。感谢您提出更好的建议,而不是仅仅说它设计得很糟糕。我不能在不了解al的情况下提出建议l您的要求。根据您的问题,您只需要一个两行shell脚本,其中包含
npm install;npm run build
,但显然我没有所有详细信息。因此,我可以拥有一个包含两个命令的bat文件,并让它们都登录到同一个文件中,然后在构建完成时进行验证?(验证
npm运行构建
是否结束要简单得多。