windows - Jenkins 找不到 npm 但可以找到 npm.cmd - Windows 10
问题描述
我在 Windows 10 VM 上遇到了 NPM 路径的新问题。
Node.js 和 NPM 是通过 NVM for Windows 设置的。
我们正在使用 Cygwin。
通过 Swarm 将 VM 连接到 Jenkins 后,我尝试运行一个简单的npm --version
命令,它说找不到 NPM。
但是,如果我运行npm.cmd --version
它会打印6.14.12
另外,如果我运行which npm
它会返回/cygdrive/c/Program Files/nodejs/npm
但随后npm --version
失败。
当我远程进入虚拟机时,所有这些命令都可以在虚拟机上运行,但是当我将它连接到 Jenkins 时,它在 Jenkins 脚本控制台和构建中都会失败。
我不明白什么?为什么,在詹金斯,NPM
失败但NPM.cmd
有效?
我们在多分支管道中使用 Windows、Redhat 和 MacOS VM,因此命令必须独立于操作系统。
解决方案
推荐阅读
- amazon-s3 - Cloudfront 不缓存丢失的页面
- c# - HttpClient SendAsync 返回未经授权的第一个请求
- shell - awk 除法致命时出错:尝试除以零
- java - 如何让 IntelliJ IDEA 识别 Java Gradle 多项目中的 Python 目录?
- keras - 时间序列的 keras LSTM 模型不起作用
- php - 如何在 PHP 中选择表名?
- java - 如何将应用程序上下文从主要活动传递给实现异步任务的类,以在异步任务中从 onPostExecute() 附加适配器?
- vue.js - 如何在 vue.js 中的特定表格行悬停时显示不同的值?
- html - 如何在 Angular 9 中使用 2 向绑定
- pdf - pdf文件中的“另存为”框