#node.js #heroku #npm #web3 #node-gyp
Вопрос:
Я пытаюсь развернуть приложение web3 в heroku, но при создании зависимостей npm я получаю следующую ошибку:
remote: sh: 1: node-gyp-build: not found
remote: npm ERR! code ELIFECYCLE
remote: npm ERR! syscall spawn
remote: npm ERR! file sh
remote: npm ERR! errno ENOENT
remote: npm ERR! bufferutil@4.0.3 install: `node-gyp-build`
remote: npm ERR! spawn ENOENT
remote: npm ERR!
remote: npm ERR! Failed at the bufferutil@4.0.3 install script.
Я считаю, что это из-за web3@1.3.6 зависимость, которую я добавляю. Если я исключу это из зависимостей npm в своем package.json
файле, развертывание пройдет успешно.
Если я подключусь по ssh к консоли, я смогу запустить npm install -g web3@1.3.6
, и это также будет успешно. Я также попытался добавить node-gyp, node-gyp-build и bufferutil в качестве явных зависимостей в файле package.json. Я использую
node 14.17.0
npm 6.14.13
python 3.9.5
Ниже приведен мой полный package.json
файл
{
"engines": {
"node": "14.17.0",
"npm": "6.14.13"
},
"repository": {},
"description": " ",
"license": "MIT",
"scripts": {
"deploy": "webpack --mode production",
"watch": "webpack --mode development --watch"
},
"dependencies": {
"postcss": "8.1.0",
"@popperjs/core": "^2.9.2",
"bootstrap": "^5.0.1",
"jquery": "^3.6.0",
"phoenix": "file:../deps/phoenix",
"phoenix_html": "file:../deps/phoenix_html",
"phoenix_live_view": "file:../deps/phoenix_live_view",
"topbar": "^0.1.4",
"@babel/core": "^7.0.0",
"babel-polyfill": "^6.26.0",
"@babel/preset-env": "^7.0.0",
"babel-loader": "^8.0.0",
"css-loader": "^5.2.6",
"sass-loader": "^10.0.0",
"node-sass": "^6.0.0",
"cropperjs": "1.5.12",
"eth-sig-util": "^1.4.2",
"jquery-cropper": "1.0.1",
"copy-webpack-plugin": "^5.1.1",
"hard-source-webpack-plugin": "^0.13.1",
"mini-css-extract-plugin": "^0.9.0",
"optimize-css-assets-webpack-plugin": "^5.0.1",
"terser-webpack-plugin": "^2.3.2",
"webpack": "^4.41.5",
"webpack-cli": "^3.3.2",
"web3": "1.3.6"
},
"devDependencies": {},
}