问题
I've setup a Firebase project to create some basic Firebase Functions.
In the project I'm using TypeScript
Following the Firebase official documentation I created my project.
The last step, firebase deploy --only functions
, gave an error with the tsc
command.
$ firebase deploy --only functions
=== Deploying to ‘my-project’…
i deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint
> functions@ lint /path/to/functions
> tslint --project tsconfig.json
Running command: npm --prefix "$RESOURCE_DIR" run build
> functions@ build /path/to/functions
> tsc
node_modules/firebase-functions/lib/function-builder.d.ts(60,95): error TS1005: ';' expected.
node_modules/firebase-functions/lib/function-builder.d.ts(60,96): error TS1003: Identifier expected.
node_modules/firebase-functions/lib/function-builder.d.ts(60,116): error TS1005: ';' expected.
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! functions@ build: `tsc`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the functions@ 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! /some/path/.npm/_logs/2019-02-03T00_10_30_573Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code2
Having trouble? Try firebase deploy --help
It seems that some of the Firebase library code does not pass the tsc
compile/transpile step.
I'm looking for a way to make this deploy step pass.
I've followed the suggestion given at this GitHub issue, which included:
- Adding
--skipLibCheck
to thetsc
command - Adding
skipLibCheck
to the project's generatedfunctions/tsconfig.json
- Adding
isolateModules
tofunctions/tsconfig.json
- Adding
./functions/node_modules/@types
to thetypeRoots
array in thefunctions/tsconfig.json
file. - Adding
dom
tocompilerOptions.lib
infunctions/tsconfig.json
None of the above steps have worked for me.
How can I make my deployment to Firebase succeed?
回答1:
Ran into same issue, was able to deploy after upgrading typescript library to 3.3.1 version and do npm install.
In package.json file set "devDependencies": { "tslint": "~5.8.0", "typescript": "~3.3.1" },
Note: you can remove all changes described in your post.
回答2:
this works for me : add this line to tsconfig within the functions folder:
"typeRoots": [ "node_modules/@types" ],
This is part of "compilerOptions" block worked for me
来源:https://stackoverflow.com/questions/54498868/firebase-deploy-returns-error-at-tsc-command