繁体   English   中英

Node.js错误-AssertionError [ERR_ASSERTION]:模式不应该使用全局或粘性模式…重新安装软件包后

[英]Node.js Error - AssertionError [ERR_ASSERTION]: pattern should not use global or sticky mode … after reinstalling packages

我有两个在v10.14.2上运行的node.js项目。 两者都工作正常。

然后我删除了package.json中的所有软件包,并像这样重新安装它们:

$ npm install <package01> <package02> <package03> ...

安装成功。 从155个贡献者中添加了228个软件包,并在11.48秒内审核了393个软件包,发现了0个漏洞

尝试运行它时,我现在收到一条错误消息:

$ nodemon project01

错误信息:

[nodemon] starting `node project01.js`
/home/Project01/node_modules/hoek/lib/index.js:553
    throw new Assert.AssertionError({
    ^

AssertionError [ERR_ASSERTION]: pattern should not use global or sticky mode
    at new AssertionError (internal/assert.js:269:11)
    at Object.exports.assert (/home/Project01/node_modules/hoek/lib/index.js:553:11)
    at internals.String.regex (/home/Project01/node_modules/joi/lib/types/string/index.js:122:14)
    at Object.<anonymous> (/home/Project01/helpers/routeHelpers.js:58:27)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
[nodemon] app crashed - waiting for file changes before starting...

第二个应用程序相同:

$ npm install <package01> <package02> <package03> ...

安装成功。 从116个贡献者中添加了151个软件包,并在10.571秒内审核了303个软件包,发现了0个漏洞

$ nodemon project02

错误信息:

[nodemon] starting `node project02.js`
/home/Project02/node_modules/hoek/lib/index.js:553
    throw new Assert.AssertionError({
    ^

AssertionError [ERR_ASSERTION]: pattern should not use global or sticky mode
    at new AssertionError (internal/assert.js:269:11)
    at Object.exports.assert (/home/Project02/node_modules/hoek/lib/index.js:553:11)
    at internals.String.regex (/home/Project02/node_modules/joi/lib/types/string/index.js:122:14)
    at Object.<anonymous> (/home/Project02/helpers/routeHelpers.js:47:27)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
[nodemon] app crashed - waiting for file changes before starting...

我缺少什么,需要做些什么来解决此问题?

升级到v14时,此错误来自@ hapi / joi 正则表达式object.patternstring.regex发生了重大变化。 您不能再使用全局(g)或粘性(y)标志。 这些标志以前被忽略,但是现在被拒绝了。

例如,忽略了全局joi.string().regex(/^[a-z0-9_-]{1,25}$/ig)

现在必须删除全局标志joi.string().regex(/^[a-z0-9_-]{1,25}$/i)

参考@ hapi / joi发行说明https://github.com/hapijs/joi/issues/1615

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM