npm - 如何撤消/恢复 "npm audit fix"

标签 npm

正如标题所说。我跑了 npm audit fix在 cmd 中。现在我无法运行 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

最佳答案

不幸的是, 中不存在撤消功能。 npm ,因此保持 package.json 的先前状态文件,如果存在,package-lock.jsonnpm-shrinkwrap.json (这些文件是可选的)通过 npm install 恢复它(或简称: npm i )是要走的路。

通常,在像您这样的情况下,您只需将所有更改还原为 package.jsonpackage-lock.json使用版本控制系统,如 git .当然,如果您已将这些文件的先前版本保存在某处,您也可以手动执行此操作。一份礼物npm-shrinkwrap.json文件不受 npm update 的影响因此不得恢复。

之后,您可以使用 npm i 安装项目依赖项的旧版本。 .
请记住, package-lock.json 优先于 package.json 和 package.json文件用途 语义版本控制 (semver)。和 npm-shrinkwrap.json file 优先于两个文件。甚至还有一些更细微的差异,但我认为这对于这个答案来说太过分了。

有关更多详细信息,您可以引用这些文档:

  • npm install
  • package.json
  • package-lock.json
  • npm-shrinkwrap.json

  • 所以我希望你在某处有一个备份或以前的 git commit。否则,您可以尝试通过尝试读取错误消息并使用抛出此错误的旧版本包来解决错误(在您的情况下为 webpack)。此包的依赖项也可能是问题的原因。但是,如果您决定走这条路,请慢慢来。祝你好运! :)

    关于npm - 如何撤消/恢复 "npm audit fix",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62306016/

    相关文章:

    node.js - 尝试构建phonegap应用程序时出现错误

    laravel - 如何在 Laravel Mix 中使用 purgeCss

    javascript - 如何测试我已发布的 NPM 包的本地安装?

    node.js - 在 Linux 上安装 nodejs 和 npm

    typescript - 在 TypeScript 中使用单个模块生成声明文件

    node.js - 无法通过 npm 安装依赖于 node-gyp 的包

    node.js - npm --save-dev 不与 --prefix 一起使用

    javascript - vuejs - 当我保存文件时,npm run dev webserver 自动刷新有效,但刷新浏览器不起作用

    cordova - sudo npm install -g ios-deploy 错误

    javascript - 为 Angular 安装 Node.js - connect.static 和 karma