如何撤消/恢复“npm审计修复”

hivapdat  于 2023-01-17  发布在  其他
关注(0)|答案(4)|浏览(372)

如标题所示,我已经在cmd中运行了npm audit fix,现在我无法运行npm run build,因为它给我错误。如何撤销npm audit fix?有这样的命令吗?
运行npm audit fix后,我得到以下错误:

D:\SUBLIME\REACT>npm run build

> uploadpublish@1.0.0 build D:\SUBLIME\REACT
> webpack --mode production

D:\SUBLIME\REACT\node_modules\webpack-cli\bin\config-yargs.js:136
                                describe: optionsSchema.definitions.output.properties.path.description
                                                                           ^

TypeError: Cannot read property 'properties' of undefined
    at module.exports (D:\SUBLIME\REACT\node_modules\webpack-cli\bin\config-yargs.js:13
    at D:\SUBLIME\REACT\node_modules\webpack-cli\bin\webpack.js:59:27
    at Object.<anonymous> (D:\SUBLIME\REACT\node_modules\webpack-cli\bin\webpack.js:514
    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)
    at require (internal/modules/cjs/helpers.js:22:18)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! uploadpublish@1.0.0 build: `webpack --mode production`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the uploadpublish@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\VERYNICE\AppData\Roaming\npm-cache\_logs\2020-06-10T14_43_53_493Z-debug.log
eqqqjvef

eqqqjvef1#

遗憾的是,npm中不存在撤消功能,因此保留package.json文件以及package-lock.jsonnpm-shrinkwrap.json(如果存在)的先前状态,以便通过npm install(或简称:npm i)才是要走的路。
通常,在您的情况下,您只需使用版本控制系统(如git)还原对package.jsonpackage-lock.json的所有更改。当然,如果您已将这些文件的以前版本保存在某个位置,您也可以手动执行此操作。当前的npm-shrinkwrap.json文件不受npm update的影响,因此不必还原。
之后你可以用npm i安装旧版本的依赖项。记住,package-lock.json优先于package.json,package.json文件使用Semantic Versioning(semver)。npm-shrinkwrap.json文件优先于这两个文件。甚至还有一些更细微的区别,但我认为这对这个答案来说太过分了。
有关详细信息,请参阅以下文档:

所以我希望你有一个备份或者之前的git提交。否则你可以尝试通过阅读错误信息来解决这个错误,并使用抛出这个错误的旧版本的包(在你的例子中是webpack)。这个包的依赖关系也可能是问题的原因。但是如果你决定这样做,请慢慢来。祝你好运!:)

crcmnpdw

crcmnpdw2#

我遇到了一个稍微不同的问题。我在开发应用时运行了npm audit fix --force,当我试图运行npm start时,我的项目编译失败。我看到了前面的答案,并在this article on Overreacted中找到了关于npm audit的更多信息。
我运行了git status,以确保对package.json和package-lock.json的更改尚未提交,然后运行了git restore package-lock.jsongit restore package.json,然后再次运行npm install,应用能够编译。

flmtquvp

flmtquvp3#

我手动复制了之前提交的package.json和package.lock.json,然后安装了“npm install”并重建了我的React原生应用。

f3temu5u

f3temu5u4#

我也有类似的问题。当我开发我的应用程序时,我运行了“npm audit fix --force”命令。它升级了我所有的依赖项,并且不能运行我的应用程序。我所做的是在下面修复这个问题
1.首先我删除了package.json和package-lock.json
1.然后删除node_modules文件夹。
1.然后恢复以前版本的package.json,package-lock.josn和node_modules文件夹。(要恢复过程,您可以使用像Git这样的版本控制器)
这对我的问题很有效。

相关问题