First of all, I've already seen the other posts about error TS1005. Same error code, but totally different.
A simple let x: number;
will generate the error TS1005
during compilation. It's not about a missing semicolon as what the error message says, but the compiler does not recognize the let keyword. I read that maybe because of an outdated compiler.
Here's my typescript version installed using npm install -g typescript
2.5.2
1.0.3.0
Maybe somebody can help?
This question is related to
typescript
Your installation is wrong; you are using a very old compiler version (1.0.3.0).
tsc --version
should return a version of 2.5.2.
Check where that old compiler is located using: which tsc
(or where tsc
) and remove it.
Try uninstalling the "global" typescript
npm uninstall -g typescript
Installing as part of a local dev dependency of your project
npm install typescript --save-dev
Execute it from the root of your project
./node_modules/.bin/tsc
Just try to without changing anything
npm install [email protected]
X.X.X is your current version
I had today a similar error message. What was peculiar is that it did not break the Application. It was running smoothly but the command prompt (Windows machine) indicated there was an error. I did not update the Typescript version but found another culprit. It turned there was a tiny omission of symbol - closing ")", which I believe The Typescript is compensating for. Just for reference the code is the following:
[new Object('First Characteristic','Second Characteristic',
'Third Characteristic'*]
* notice here the ending ")" is missing.
Once brought back no more issues on the command prompt!
If you're getting error TS1005: 'finally' expected.
, it means you forgot to implement catch
after try
. Generally, it means the syntax you attempted to use was incorrect.
The issue was in my code.
In large code base, issue was not clear.
A simplified code is below:
Bad:
collection.insertMany(
[[],
function (err, result) {
});
Good:
collection.insertMany(
[],
function (err, result) {
});
That is, the first one has [[], instead of normal array []
TS error was not clear enough, and it showed error in the last line with });
Hope this helps.
I was injecting service like this:
private messageShowService MessageShowService
instead of:
private messageShowService: MessageShowService
and that was the reason of error, despite nothing related with ','
was there.
Remove C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0
directory.
Now run :
npm install -g typescript
this will install the latest version and then re-try.
You don't have the last version of typescript.
Running :
npm install -g typescript
npm
checks if tsc
command is already installed.
And it might be, by another software like Visual Studio
. If so, npm
doesn't override it. So you have to remove the previous deprecated tsc
installed command.
Run where tsc
to know its bin location. It should be in C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\
in windows. Once found, delete the folder, and re-run npm install -g typescript
. This should now install the last version of typescript.
On Windows you can have in your PATH
PATH = ...;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\; ...
remove it from PATH env, then
npm install -g typescript@latest
it worked for me to solve the
"TypeScript error TS1005: ';' expected"
See also how to update TypeScript to latest version with npm?
Source: Stackoverflow.com