我正在为内部NodeJS Express项目设置一个Jenkins构建。
该项目使用一些本机库(用C编写)。反复尝试设置Python和MSBuild Tools(使用windows-build-tools
和不使用)之后,我没有设法使构建正常进行。
Jenkins脚本:
pipeline {
agent any
stages {
stage('Download source') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: '*/branch-name']],
userRemoteConfigs:
[
[
credentialsId: 'cred-id',
url: 'gitURL'
]
]
])
}
}
stage('Npm install') {
steps {
bat "npm install"
}
}
}
}
我尝试使用NodeJS插件,同样的问题。授予C:\Program Files (x86)\Jenkins
文件夹和每个子目录的权限,重新安装了所有内容(软件包,具有不同版本的Node,甚至是Windows OS),但输出始终为:
step: npm install
npm ERR! premature close
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Windows\system32\config\systemprofile\AppData\Roaming\npm-cache\_logs\2019-04-04T16_69_111Z-debug.log
奇怪的是是,当我从npm install
文件夹运行%JENKINS_HOME%workspace/ProjectName
时,它将构建并安装所有内容,而没有任何警告或错误,并且运行平稳。
很抱歉,我为此主题进行了为期3周的研究,看到了许多文章和帖子,但是这个问题已经存在了较长的时间,我们无法构建任何Node项目。
答案 0 :(得分:1)
好的,经过2个星期的痛苦尝试后,唯一可行的解决方案是:
componentDidUpdate(prevProps) {
// Typical usage (don't forget to compare props):
if (this.props.lastSeen !== prevProps.lastSeen) {
// un-subscribe and re-subsricbe with modified query
}
}
代替:
yarn install