如何在 Netlify 上修复这个 node-sass 构建错误? [英] How to fix this node-sass build error on Netlify?

查看:75
本文介绍了如何在 Netlify 上修复这个 node-sass 构建错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我过去曾多次这样做,我在 netlify 日志中收到此错误.我尝试部署的存储库是 https://github.com/yanyamz/Key_Visual_Arts..>

我检查了它是否在 Netlify 的大小限制范围内,总共 15mb 左右,而您可以在 netlify 上部署 20+mb.

12:03:03 PM:构建准备开始下午 12:03:04:构建映像版本:fa439ad1ab9393b2c0d449d8d7c033927683f4b0下午 12:03:04:构建镜像标签:v4.3.0下午 12:03:04:构建机器人版本:0f2f658d862cfe72bae7cc05c6a8de0426a5a0e212:03:04 PM:获取缓存的依赖项12:03:05 PM:无法获取缓存,继续构建12:03:05 PM:开始准备构建的repo下午 12:03:05:未找到缓存的依赖项.克隆新的 repo12:03:05 PM:git clone https://github.com/yanyamz/Key_Visual_Arts12:03:07 PM:准备 Git 参考 refs/heads/main下午 12:03:07:解析 package.json 依赖项下午 12:03:08:❯ 初始构建环境baseRelDir: 真分支:主要背景:生产cwd:/opt/build/repo功能标志:[]模式:构建机器人存储库根:/opt/build/repo站点 ID:9cc686ee-a337-4ebf-886c-99acf9adfe45❯ UI 构建设置baseRelDir: 真建造:命令: npm run build环境:- NETLIFY_BUILD_DEBUG发布:dist❯ 已解决的构建环境分支:主要构建目录:/opt/build/repo背景:生产环境:[]❯ 已解决的配置建造:命令: npm run build命令来源:ui环境:- NETLIFY_BUILD_DEBUG发布:/opt/build/repo/dist发布来源:ui12:03:08 PM:启动构建脚本12:03:08 PM:安装依赖项下午 12:03:08:Python 版本设置为 2.712:03:09 PM:下载并安装节点 v16.8.0...下午 12:03:09:下载 https://nodejs.org/dist/v16.8.0/node-v16.8.0-linux-x64.tar.xz...12:03:09 PM:使用 sha256sum 计算校验和12:03:09 PM:校验和匹配!下午 12:03:12:现在使用节点 v16.8.0 (npm v7.21.0)12:03:12 PM:开始恢复缓存的构建插件12:03:12 PM:完成恢复缓存的构建插件下午 12:03:12:尝试使用 ruby​​ 版本 2.7.2,从环境中读取下午 12:03:13:使用 ruby​​ 版本 2.7.2下午 12:03:14:使用 PHP 8.0 版12:03:14 PM:开始恢复缓存节点模块12:03:14 PM:完成恢复缓存节点模块12:03:14 PM:使用 NPM 7.21.0 版安装 NPM 模块下午 12:03:16:npm 警告旧锁文件下午 12:03:16:npm WARN old lockfile package-lock.json 文件是用旧版本的 npm 创建的,下午 12:03:16:npm 警告旧锁文件,因此必须从注册表中获取补充元数据.下午 12:03:16:npm 警告旧锁文件12:03:16 PM:npm WARN old lockfile 这是一次性修复,请耐心等待...下午 12:03:16:npm 警告旧锁文件下午 12:03:18:npm 警告旧锁文件 vue-loader-v16:找不到与 vue-loader-v16@16.5.0 匹配的版本.下午 12:03:18:在 module.exports (/opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/npm-pick-manifest/index.js:209:23)下午 12:03:18:npm 警告旧锁文件位于/opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/pacote/lib/registry.js:118:26下午 12:03:18:npm 警告异步数组中的旧锁文件.<匿名>(/opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:691:9)下午 12:03:18:npm 警告旧锁文件无法获取 vue-loader-v16@16.5.0 的元数据 vue-loader-v16:找不到与 vue-loader-v16@16.5.0 匹配的版本.下午 12:03:18:在 module.exports (/opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/npm-pick-manifest/index.js:209:23)下午 12:03:18:npm 警告旧锁文件位于/opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/pacote/lib/registry.js:118:26下午 12:03:18:npm 警告异步数组中的旧锁文件.<匿名>(/opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:691:9) {下午 12:03:18:npm 警告旧锁文件代码:'ETARGET',下午 12:03:18:npm 警告旧锁文件类型:版本",下午 12:03:18:需要 npm WARN 旧锁文件:'16.5.0',下午 12:03:18:npm 警告旧锁文件版本:[下午 12:03:18:npm 警告旧锁文件16.0.0-beta.5",下午 12:03:18:npm 警告旧锁文件16.0.0-beta.5.1",下午 12:03:18:npm 警告旧锁文件16.0.0-beta.5.2",下午 12:03:18:npm 警告旧锁文件16.0.0-beta.5.3",下午 12:03:18:npm 警告旧锁文件16.0.0-beta.5.4"下午 12:03:18:npm 警告旧锁文件],下午 12:03:18:npm 警告旧锁文件 distTags: { latest: '16.0.0-beta.5.4' },下午 12:03:18:npm 警告旧锁文件 defaultTag:'最新'下午 12:03:18:npm 警告旧锁文件 }下午 12:03:33:npm 警告已弃用 urix@0.1.0:请参阅 https://github.com/lydell/urix#deprecated下午 12:03:33:npm WARN 已弃用 har-validator@5.1.5:不再支持此库下午 12:03:33:npm 警告已弃用 resolve-url@0.2.1:https://github.com/lydell/resolve-url#deprecated下午 12:03:34:npm WARN 已弃用 uuid@3.4.0:请升级到版本 7 或更高版本.在某些情况下,旧版本可能会使用 Math.random(),这是已知的问题.有关详细信息,请参阅 https://v8.dev/blog/math-random.下午 12:03:35:npm WARN 已弃用 request@2.88.2:请求已被弃用,请参阅 https://github.com/request/request/issues/3142下午 12:03:37:npm WARN 已弃用 querystring@0.2.0:querystring API 被视为旧版.新代码应改用 URLSearchParams API.下午 12:03:38:npm WARN 已弃用 eslint-loader@2.2.1:此加载器已被弃用.请使用 eslint-webpack-plugin下午 12:03:39:npm 警告已弃用 html-webpack-plugin@3.2.0:不再支持 3.x下午 12:03:40:npm WARN 已弃用 babel-eslint@10.1.0:babel-eslint 现在是 @babel/eslint-parser.此软件包将不再接收更新.下午 12:03:40:npm WARN 已弃用 @hapi/topo@3.1.6:此版本已被弃用,不再受支持或维护下午 12:03:40:npm WARN 已弃用 @hapi/bourne@1.3.2:此版本已被弃用,不再受支持或维护下午 12:03:41:不推荐使用 npm WARN @hapi/address@2.1.4:移至npm install @sideway/address"下午 12:03:42:npm WARN 已弃用 chokidar@2.1.8:Chokidar 2 将在节点 v14+ 上中断.升级到 chokidar 3,依赖项减少 15 倍.下午 12:03:42:npm WARN 已弃用 @hapi/hoek@8.5.1:此版本已被弃用,不再受支持或维护下午 12:03:42:npm WARN 已弃用 chokidar@2.1.8:Chokidar 2 将在节点 v14+ 上中断.升级到 chokidar 3,依赖项减少 15 倍.下午 12:03:43:不推荐使用 npm WARN @hapi/joi@15.1.1:切换到npm install joi"下午 12:03:43:npm WARN 已弃用 tar@2.2.2:不再支持此版本的 tar,并且不会收到安全更新.请尽快升级.下午 12:06:00:npm 错误!代码 1下午 12:06:00:npm 错误!路径/opt/build/repo/node_modules/node-sass下午 12:06:00:npm 错误!命令失败下午 12:06:00:npm 错误!命令 sh -c node scripts/build.js下午 12:06:00:npm 错误!构建:/opt/buildhome/.nvm/versions/node/v16.8.0/bin/node/opt/build/repo/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=下午 12:06:00:npm 错误!make:进入目录'/opt/build/repo/node_modules/node-sass/build'下午 12:06:00:npm 错误!g++ '-DNODE_GYP_MODULE_NAME=libsass' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1'

解决方案

此错误是由您在节点 16.x 上运行的 Netifly 环境引起的(请参阅您的日志12:03:12 PM:Now using node v16.8.0(npm v7.21.0)") 与您使用的 node-sass 版本不兼容.

你可以参考这个:我正在尝试在 netlify 上托管我的 React 网站,但是出现了 npm 安装错误

您还可以在这里验证节点版本和 node-sass 之间的兼容性:https://www.npmjs.com/package/node-sass

I've done this many times in the past, I'm getting this error in the netlify logs. The repo I am attempting to deploy is https://github.com/yanyamz/Key_Visual_Arts.

I checked to see if it was within size limitations of Netlify and it is, totally 15mb or so vs the 20+mb that you can deploy on netlify.

12:03:03 PM: Build ready to start
12:03:04 PM: build-image version: fa439ad1ab9393b2c0d449d8d7c033927683f4b0
12:03:04 PM: build-image tag: v4.3.0
12:03:04 PM: buildbot version: 0f2f658d862cfe72bae7cc05c6a8de0426a5a0e2
12:03:04 PM: Fetching cached dependencies
12:03:05 PM: Failed to fetch cache, continuing with build
12:03:05 PM: Starting to prepare the repo for build
12:03:05 PM: No cached dependencies found. Cloning fresh repo
12:03:05 PM: git clone https://github.com/yanyamz/Key_Visual_Arts
12:03:07 PM: Preparing Git Reference refs/heads/main
12:03:07 PM: Parsing package.json dependencies
12:03:08 PM: 
​
❯ Initial build environment
baseRelDir: true
branch: main
context: production
cwd: /opt/build/repo
featureFlags: []
mode: buildbot
repositoryRoot: /opt/build/repo
siteId: 9cc686ee-a337-4ebf-886c-99acf9adfe45
​
❯ UI build settings
baseRelDir: true
build:
  command: npm run build
  environment:
    - NETLIFY_BUILD_DEBUG
  publish: dist
​
❯ Resolved build environment
branch: main
buildDir: /opt/build/repo
context: production
env: []
​
❯ Resolved config
build:
  command: npm run build
  commandOrigin: ui
  environment:
    - NETLIFY_BUILD_DEBUG
  publish: /opt/build/repo/dist
  publishOrigin: ui

12:03:08 PM: Starting build script
12:03:08 PM: Installing dependencies
12:03:08 PM: Python version set to 2.7
12:03:09 PM: Downloading and installing node v16.8.0...
12:03:09 PM: Downloading https://nodejs.org/dist/v16.8.0/node-v16.8.0-linux-x64.tar.xz...
12:03:09 PM: Computing checksum with sha256sum
12:03:09 PM: Checksums matched!
12:03:12 PM: Now using node v16.8.0 (npm v7.21.0)
12:03:12 PM: Started restoring cached build plugins
12:03:12 PM: Finished restoring cached build plugins
12:03:12 PM: Attempting ruby version 2.7.2, read from environment
12:03:13 PM: Using ruby version 2.7.2
12:03:14 PM: Using PHP version 8.0
12:03:14 PM: Started restoring cached node modules
12:03:14 PM: Finished restoring cached node modules
12:03:14 PM: Installing NPM modules using NPM version 7.21.0
12:03:16 PM: npm WARN old lockfile
12:03:16 PM: npm WARN old lockfile The package-lock.json file was created with an old version of npm,
12:03:16 PM: npm WARN old lockfile so supplemental metadata must be fetched from the registry.
12:03:16 PM: npm WARN old lockfile
12:03:16 PM: npm WARN old lockfile This is a one-time fix-up, please be patient...
12:03:16 PM: npm WARN old lockfile
12:03:18 PM: npm WARN old lockfile vue-loader-v16: No matching version found for vue-loader-v16@16.5.0.
12:03:18 PM: npm WARN old lockfile     at module.exports (/opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/npm-pick-manifest/index.js:209:23)
12:03:18 PM: npm WARN old lockfile     at /opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/pacote/lib/registry.js:118:26
12:03:18 PM: npm WARN old lockfile     at async Array.<anonymous> (/opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:691:9)
12:03:18 PM: npm WARN old lockfile  Could not fetch metadata for vue-loader-v16@16.5.0 vue-loader-v16: No matching version found for vue-loader-v16@16.5.0.
12:03:18 PM: npm WARN old lockfile     at module.exports (/opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/npm-pick-manifest/index.js:209:23)
12:03:18 PM: npm WARN old lockfile     at /opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/pacote/lib/registry.js:118:26
12:03:18 PM: npm WARN old lockfile     at async Array.<anonymous> (/opt/buildhome/.nvm/versions/node/v16.8.0/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:691:9) {
12:03:18 PM: npm WARN old lockfile   code: 'ETARGET',
12:03:18 PM: npm WARN old lockfile   type: 'version',
12:03:18 PM: npm WARN old lockfile   wanted: '16.5.0',
12:03:18 PM: npm WARN old lockfile   versions: [
12:03:18 PM: npm WARN old lockfile     '16.0.0-beta.5',
12:03:18 PM: npm WARN old lockfile     '16.0.0-beta.5.1',
12:03:18 PM: npm WARN old lockfile     '16.0.0-beta.5.2',
12:03:18 PM: npm WARN old lockfile     '16.0.0-beta.5.3',
12:03:18 PM: npm WARN old lockfile     '16.0.0-beta.5.4'
12:03:18 PM: npm WARN old lockfile   ],
12:03:18 PM: npm WARN old lockfile   distTags: { latest: '16.0.0-beta.5.4' },
12:03:18 PM: npm WARN old lockfile   defaultTag: 'latest'
12:03:18 PM: npm WARN old lockfile }
12:03:33 PM: npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
12:03:33 PM: npm WARN deprecated har-validator@5.1.5: this library is no longer supported
12:03:33 PM: npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
12:03:34 PM: npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
12:03:35 PM: npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
12:03:37 PM: npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
12:03:38 PM: npm WARN deprecated eslint-loader@2.2.1: This loader has been deprecated. Please use eslint-webpack-plugin
12:03:39 PM: npm WARN deprecated html-webpack-plugin@3.2.0: 3.x is no longer supported
12:03:40 PM: npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
12:03:40 PM: npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
12:03:40 PM: npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
12:03:41 PM: npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
12:03:42 PM: npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
12:03:42 PM: npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
12:03:42 PM: npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
12:03:43 PM: npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi'
12:03:43 PM: npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
12:06:00 PM: npm ERR! code 1
12:06:00 PM: npm ERR! path /opt/build/repo/node_modules/node-sass
12:06:00 PM: npm ERR! command failed
12:06:00 PM: npm ERR! command sh -c node scripts/build.js
12:06:00 PM: npm ERR! Building: /opt/buildhome/.nvm/versions/node/v16.8.0/bin/node /opt/build/repo/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
12:06:00 PM: npm ERR! make: Entering directory '/opt/build/repo/node_modules/node-sass/build'
12:06:00 PM: npm ERR!   g++ '-DNODE_GYP_MODULE_NAME=libsass' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' 

解决方案

This error is caused by your Netifly environment running on node 16.x (see your log "12:03:12 PM: Now using node v16.8.0 (npm v7.21.0)") which is incompatible with the node-sass version you are using.

You can refer to this: I am trying to host my react website on netlify but this npm install error comes

You can also verify compatibility between node version and node-sass here: https://www.npmjs.com/package/node-sass

这篇关于如何在 Netlify 上修复这个 node-sass 构建错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆