本文概述
- 1.删??除node_modules
- 2.创建npm-shrinkwrap.json
- 3.安装依赖项
似乎gulp v3在Node.js 12环境上运行时会遇到麻烦, 因为其中一个依赖项, 即graceful-fs(fs模块的直接替代品, 进行了各种改进)与此不兼容。版本的节点。因此, 解决此问题的选项很明确:
- 你可以升级到gulp v4(修改源代码, 花费大量时间)。
- 专门降级项目中graceful -fs的版本。
1.删??除node_modules 【如何解决gulp异常(参考错误primordials未定义错误)】第一步, 你将需要删除所有已安装的依赖项, 因为如果你尝试运行npm install, 则相同的依赖项将保留在相同的版本中, 但是我们的解决方案会强制降级graceful-fs。因此, 只需删除node_modules目录。
2.创建npm-shrinkwrap.json 除去依赖关系目录后, 继续在项目的同一目录(package.json所在的目录)中创建以下文件, 即npm-shrinkwrap.json文件, 其中包含以下内容:
{"dependencies": {"graceful-fs": {"version": "4.2.2"}}}
你可以在此处的NPM官方文档中找到有关此文件的详细说明。
3.安装依赖项 创建步骤2的文件后, 请再次使用npm安装项目的依赖项:
npm install
这将开始安装依赖项, 并且npm将警告你有关shrinkwrap文件的lockfileversion:
这也会修改以前创建的npm-shrinkwrap.json文件, 其中包含许多内容, 如下所示:
{"name": "yourproject_name", "version": "x.x.x", "lockfileVersion": 1, "requires": true, "dependencies": {// .. //"@gulp-sourcemaps/identity-map": {"version": "1.0.2", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz", "integrity": "sha512-ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==", "dev": true, "requires": {"acorn": "^5.0.3", "css": "^2.2.1", "normalize-path": "^2.1.1", "source-map": "^0.6.0", "through2": "^2.0.3"}}// .. //}}
你暂时可以忽略此。安装依赖项后, 一切都应按预期工作, 并且构建应照常成功:
gulp build --production
编码愉快??!
推荐阅读
- 如何使用jQuery轻松创建二维码
- 如何使用Node.js混淆JavaScript代码
- 如何检查Node.js中是否存在活动的Internet连接
- 如何使用Node.js关闭和重启Linux
- 如何在Node.js中使用SSH2从UNIX服务器下载整个目录
- 找不到相对于目录的预设”es2015″和”react”
- Golang中用到的的Websocket库
- 超简单五步实现Linux虚拟机CentOS 7系统Root密码忘记重置
- Java技术指南「OpenJDK专题」想不想编译属于你自己的JDK呢((Windows环境))