jenkins - “cb-never-called-1.0.1.tgz: Operation not allowed”在 gradle/npm 构建节点模块时出现错误
问题描述
在 Linux 环境中突然从 gradle 构建 node_module 时出现以下异常。
java.nio.file.FileSystemException: /var/lib/jenkins/workspace/<project>/node_modules/tar/test/cb-never-called-1.0.1.tgz: Operation not permitted
08:20:02 Caused by: org.gradle.api.UncheckedIOException: Failed to create MD5 hash for file '/var/lib/jenkins/workspace/<project>/node_modules/tar/test/cb-never-called-1.0.1.tgz'.
08:20:02 at org.gradle.api.internal.hash.DefaultFileHasher.hash(DefaultFileHasher.java:48)
08:20:02 at org.gradle.api.internal.changedetection.state.CachingFileHasher.snapshot(CachingFileHasher.java:79)
08:20:02 at org.gradle.api.internal.changedetection.state.CachingFileHasher.snapshot(CachingFileHasher.java:68)
08:20:02 at org.gradle.api.internal.changedetection.state.CachingFileHasher.hash(CachingFileHasher.java:60)
08:20:02 at org.gradle.api.internal.changedetection.state.AbstractFileCollectionSnapshotter.snapshot(AbstractFileCollectionSnapshotter.java:97)
08:20:02 at org.gradle.api.internal.changedetection.rules.AbstractNamedFileSnapshotTaskStateChanges.buildSnapshots(AbstractNamedFileSnapshotTaskStateChanges.java:87)
08:20:02 ... 75 more
08:20:02 Caused by: java.io.FileNotFoundException: /var/lib/jenkins/workspace/<project>/node_modules/tar/test/cb-never-called-1.0.1.tgz (Operation not permitted)
08:20:02 at com.google.common.io.Files$FileByteSource.openStream(Files.java:126)
08:20:02 at com.google.common.io.Files$FileByteSource.openStream(Files.java:116)
08:20:02 at com.google.common.io.ByteSource.copyTo(ByteSource.java:234)
08:20:02 at com.google.common.io.Files.copy(Files.java:423)
0*8:20:02 at org.gradle.api.internal.hash.DefaultFileHasher.hash(DefaultFileHasher.java:45)
08:20:02 ... 80 more
在调查时发现这是因为 * McAfee 将此文件视为恶意软件(请参阅this、this),因为它在构建期间无法读取此文件。
任何可能的解决方案?
解决方案
我面临着同样的问题。当我检查时,我观察到在服务器上安装了 McAfee 防病毒软件,并且正在为此运行进程。
进一步调查表明,McAfee 将文件“ cb-never-called-1.0.1.tgz ”视为恶意软件,并阻止对该文件进行任何操作。
尝试运行以下命令,它将解决问题(该命令将停止 centos 上的 McAfee 进程):
sudo /opt/isec/ens/threatprevention/bin/isectpdControl.sh 停止
推荐阅读
- java - 查找二维字符串数组中出现频率最高的元素及其出现次数
- c++ - std::mutex 是递归的(即不可重入的)吗?
- java - Kotlin App 打开活动 2 按钮 CRASH
- reactjs - 我是新手,我在尝试从 firestore 获取数据字段以显示在我的应用程序屏幕上时遇到很多问题
- php - PHP关于座位预订系统的想法?
- reactjs - React GraphQL 突变返回无效输入
- java - Java 11 无法解析本地日期时间
- android - 如何从模拟器的新更新中更改位置(纬度和经度):Android Studio
- atom-editor - 查找 (2) 换行符并替换为 (1)
- reactjs - 反应导航,路线数据正在抛出“未定义不是对象”