所以我分叉并修改了
g-sheets-api
模块。这是我的版本:https://github.com/lpares12/g-sheets-api
然后我在我的网络项目中安装了以下命令:
npm install git+https://github.com/lpares12/g-sheets-api.git --save-dev
每当我将项目上传到 Netlify 时,它都会失败:
8:30:02 PM: Installing npm packages using npm version 8.19.3
8:30:02 PM: npm WARN old lockfile
8:30:02 PM: npm WARN old lockfile The package-lock.json file was created with an old version of npm,
8:30:02 PM: npm WARN old lockfile so supplemental metadata must be fetched from the registry.
8:30:02 PM: npm WARN old lockfile
8:30:02 PM: npm WARN old lockfile This is a one-time fix-up, please be patient...
8:30:02 PM: npm WARN old lockfile
8:30:19 PM: npm WARN old lockfile Error: git dep preparation failed
8:30:19 PM: npm WARN old lockfile at ChildProcess.<anonymous> (/opt/buildhome/.nvm/versions/node/v16.19.1/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:63:27)
8:30:19 PM: npm WARN old lockfile at ChildProcess.emit (node:events:513:28)
8:30:19 PM: npm WARN old lockfile at maybeClose (node:internal/child_process:1100:16)
8:30:19 PM: npm WARN old lockfile at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)
8:30:19 PM: npm WARN old lockfile Could not fetch metadata for g-sheets-api@git+ssh://[email protected]/lpares12/g-sheets-api.git#4e8ec12a4654d29421b131ddfe4bcff540589cc8 Error: git dep preparation failed
8:30:19 PM: npm WARN old lockfile at ChildProcess.<anonymous> (/opt/buildhome/.nvm/versions/node/v16.19.1/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:63:27)
8:30:19 PM: npm WARN old lockfile at ChildProcess.emit (node:events:513:28)
8:30:19 PM: npm WARN old lockfile at maybeClose (node:internal/child_process:1100:16)
8:30:19 PM: npm WARN old lockfile at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5) {
8:30:19 PM: npm WARN old lockfile cmd: '/opt/buildhome/.nvm/versions/node/v16.19.1/bin/node',
8:30:19 PM: npm WARN old lockfile args: [
8:30:19 PM: npm WARN old lockfile '/opt/buildhome/.nvm/versions/node/v16.19.1/lib/node_modules/npm/bin/npm-cli.js',
8:30:19 PM: npm WARN old lockfile 'install',
8:30:19 PM: npm WARN old lockfile '--force',
8:30:19 PM: npm WARN old lockfile '--cache=/opt/buildhome/.npm',
8:30:19 PM: npm WARN old lockfile '--prefer-offline=false',
8:30:19 PM: npm WARN old lockfile '--prefer-online=false',
8:30:19 PM: npm WARN old lockfile '--offline=false',
8:30:19 PM: npm WARN old lockfile '--no-progress',
8:30:19 PM: npm WARN old lockfile '--no-save',
8:30:19 PM: npm WARN old lockfile '--no-audit',
8:30:19 PM: npm WARN old lockfile '--include=dev',
8:30:19 PM: npm WARN old lockfile '--include=peer',
8:30:19 PM: npm WARN old lockfile '--include=optional',
8:30:19 PM: npm WARN old lockfile '--no-package-lock-only',
8:30:19 PM: npm WARN old lockfile '--no-dry-run'
8:30:19 PM: npm WARN old lockfile ],
8:30:19 PM: npm WARN old lockfile code: 127,
8:30:19 PM: npm WARN old lockfile signal: null,
8:30:19 PM: npm WARN old lockfile stdout: '\n> [email protected] prepublish\n> tsc\n\n',
8:30:19 PM: npm WARN old lockfile stderr: 'npm WARN using --force Recommended protections disabled.\n' +
8:30:19 PM: npm WARN old lockfile 'npm WARN deprecated [email protected]: See https://github.com/lydell/source-map-url#deprecated\n' +
8:30:19 PM: npm WARN old lockfile 'npm WARN deprecated [email protected]: See
此外,我也看到很多此类错误:
8:30:19 PM: npm WARN old lockfile 'sh: 1: tsc: not found\n' +
8:30:19 PM: npm WARN old lockfile 'npm ERR! code 127\n' +
8:30:19 PM: npm WARN old lockfile 'npm ERR! path /opt/buildhome/.npm/_cacache/tmp/git-cloneDqwPak\n' +
8:30:19 PM: npm WARN old lockfile 'npm ERR! command failed\n' +
8:30:19 PM: npm WARN old lockfile 'npm ERR! command sh -c -- tsc\n' +
8:30:19 PM: npm WARN old lockfile '\n' +
8:30:19 PM: npm WARN old lockfile 'npm ERR! A complete log of this run can be found in:\n' +
8:30:19 PM: npm WARN old lockfile 'npm ERR! /opt/buildhome/.npm/_logs/2023-02-28T19_30_05_045Z-debug-0.log\n'
8:30:19 PM: npm WARN old lockfile }
8:30:26 PM: npm ERR! code 127
8:30:26 PM: npm ERR! git dep preparation failed
8:30:26 PM: npm ERR! command /opt/buildhome/.nvm/versions/node/v16.19.1/bin/node /opt/buildhome/.nvm/versions/node/v16.19.1/lib/node_modules/npm/bin/npm-cli.js install --force --cache=/opt/buildhome/.npm --prefer-offline=false --prefer-online=false --offline=false --no-progress --no-save --no-audit --include=dev --include=peer --include=optional --no-package-lock-only --no-dry-run
8:30:26 PM: npm ERR! > [email protected] prepublish
8:30:26 PM: npm ERR! > tsc
不确定我做错了什么,在那个输出处跟踪轨道有点困难。每当我在我的项目中运行
npm run dev
或 npm run build
时,都能正常工作。我可以看到我部署的应用程序的package-lock.json
具有以下内容:
"g-sheets-api": {
"version": "git+https://github.com/lpares12/g-sheets-api.git#4e8ec12a4654d29421b131ddfe4bcff540589cc8",
"from": "git+https://github.com/lpares12/g-sheets-api.git",
"dev": true,
"requires": {
"cross-fetch": "^3.1.5"
}
}
所以我可以清楚地看到这个提交存在并且是公开的。任何帮助将不胜感激。
如果它是相关的,我正在使用 Netlify、Vite 和 Typescript,以防它是相关的。
通过在分叉模块中运行以下命令来修复此问题:
npm install typescript --save-dev
npx tsc
然后将
build
文件夹推送到github。
我真的不明白这是如何工作的,所以让这个开放,以防有人能澄清一下。