我在构建Jenkins时遇到错误
詹金斯·洛格(Jenkins Log)
任务:api:processResources任务:api:classes任务:web:nodeSetup任务:web:npmSetup /var/lib/jenkins/workspace/hds_v2_docker/web/.gradle/npm/npm-v6.11.2/bin/npm-> / var / lib / jenkins / workspace / hds_v2_docker / web / .gradle / npm / npm-v6.11.2 / lib / node_modules / npm / bin / npm-cli.js / var / lib / jenkins / workspace / hds_v2_docker / web /。 gradle / npm / npm-v6.11.2 / bin / npx-> /var/lib/jenkins/workspace/hds_v2_docker/web/.gradle/npm/npm-v6.11.2/lib/node_modules/npm/bin/npx-cli .js + npm@6.11.2在6.837s中添加了832个贡献者的430个软件包任务:web:npmInstall FAILED npm ERR!无法读取未定义的属性“匹配”
npm ERR!可以在以下位置找到该运行的完整日志:npm ERR!
/var/lib/jenkins/.npm/_logs/2019-10-16T01_11_20_594Z-debug.log失败:构建失败,发生异常。
出了什么问题:任务':web:npmInstall'的执行失败。
进程'命令'/var/lib/jenkins/workspace/hds_v2_docker/web/.gradle/npm/npm-v6.11.2/bin/npm''完成,返回值非零
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。与--scan一起运行以获取完整的见解。
在https://help.gradle.org上获得更多帮助
此构建中使用了不推荐使用的Gradle功能,使其与Gradle 6.0不兼容。使用“ --warning-mode all”来显示各个弃用警告。参见 https://docs.gradle.org/5.0/userguide/command_line_interface.html#sec:command_line_warnings
在33秒内失败
/var/lib/jenkins/.npm/_logs/2019-10-16T01_11_20_594Z-debug.log
17傻saveTree???? clean-css@4.2.1 17傻的saveTree????? source-map@0.6.1 17傻saveTree吗???? commander@2.17.1 17傻saveTree吗???? he@1.2.0 17傻的saveTree ??? loader-utils@0.2.17 17傻saveTree ??? big.js@3.2.0 17傻的saveTree ??? emojis-list@2.1.0 17愚蠢的saveTree ??? json5@0.5.1 18详细堆栈TypeError:无法在tarballToVersion(/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js:87:20)读取未定义的18详细堆栈的属性'match'可充气儿童的详细堆栈(/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js:99:22)18个BB。详细堆栈(/ usr / local / lib / node_modules / npm / lib /install/inflate-shrinkwrap.js:55:12)tryCatcher上的18个详细堆栈(/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:
Hol*_*r L 31
你必须删除两个 package-lock.json
和 node_modules/
。
如果您不删除两者,问题将在下一个npm install
.
npm install
在我的回购中运行时,我遇到了同样的错误。我不使用 Jenkins,但我找到了在 NPM 中调试(并最终解决)这个问题的通用方法。
C:\Users\USERNAME\AppData\Roaming\npm-cache\_logs
默认情况下)18 verbose stack TypeError: Cannot read property 'match' of undefined
18 verbose stack at tarballToVersion (C:\Users\USERNAME\AppData\Roaming\nvm\v14.5.0\node_modules\npm\lib\install\inflate-shrinkwrap.js:87:20)
18 verbose stack at inflatableChild (C:\Users\USERNAME\AppData\Roaming\nvm\v14.5.0\node_modules\npm\lib\install\inflate-shrinkwrap.js:113:22)
Run Code Online (Sandbox Code Playgroud)
inflate-shrinkwrap.js
文件,并转到上面堆栈跟踪第 3 行中列出的行。tarballToVersion
)if (sw.version == null) {
console.error(`
NPM is trying to retrieve package "${name}" with version "undefined"!
Package location: ${(onDiskChild || {}).location}
Package parse error:`, (onDiskChild || {}).error);
}
Run Code Online (Sandbox Code Playgroud)
npm install
(或任何产生错误的命令)。你应该看到这样的输出: NPM is trying to retrieve package with version "undefined"!
Package location: /firebase-feedback/webpack-dev-middleware
Package parse error: [Error: ENOENT: no such file or directory, open 'C:\Root\Apps\@V\@Modules\firebase-feedback\Main\node_modules\webpack-dev-middleware\package.json'] {
errno: -4058,
code: 'ENOENT',
syscall: 'open',
path: 'C:\\Root\\Apps\\@V\\@Modules\\firebase-feedback\\Main\\node_modules\\webpack-dev-middleware\\package.json'
}
Run Code Online (Sandbox Code Playgroud)
C:/Root/Apps/@V/@Modules/firebase-feedback/Main/node_modules
文件夹,然后npm install
在Main
文件夹中运行)请注意,在我的情况下,(缺少 package.json 文件的)潜在问题似乎是由我不小心npm install
从父项目(使用我的firebase-feedback
库)运行引起的,而我有该库“npm 链接”。
我通常使用npm-safe-install来避免这些类型的问题(使用 时npm link
),但我最近一定忘记了——导致 NPM 破坏了 npm 链接库的node_modules
文件夹。
npm link
以前也发生过类似的问题,但我希望 NPM 现在已经修补了这些问题。显然不是; 尽管 NPM 的第 7 版已被声明为将在该领域进行重写,因此希望这将长期解决它。
您必须删除项目 Package-lock.json 文件。然后尝试安装你想要的。
尝试删除您的package-lock.json以查看是否有帮助。
rm -rf package-lock.json
归档时间: |
|
查看次数: |
215 次 |
最近记录: |