概要
Node.jsでJavaScriptを使うよりもTypeScriptを使うほうが、型定義が厳密になるため、より管理や保守がしやすいと聞いたため、本格的にNode.jsを本格利用する前に、TypeScriptでコーディングをしたいと思いコンパイルなどをしようとしていた。
しかし、いざコンパイルをしようとしてもtscコマンドが認識されずエラーとなってしまった。
解決法?? vscode内cmdをあきらめて、cmd
を使用する。
環境など
- win10
- Node v18.14.0
- tsc -v Version 4.9.5
エラー内容
tsc : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\user\AppData\Roaming\npm\tsc.ps1 を読み込むことができ
ません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ tsc -p c:\node-workspase\8\tsconfig.json
+ ~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
* ターミナル プロセス "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command tsc -p c:\node-workspase\8\tsconfig.json" が終了コード 1 で終了しました。
* ターミナルはタスクで再利用されます、閉じるには任意のキーを押してください。
* 実行するタスク: tsc -p c:\node-workspase\8\tsconfig.json
tsc : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\user\AppData\Roaming\npm\tsc.ps1 を読み込むことができ
ません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ tsc -p c:\node-workspase\8\tsconfig.json
+ ~~~
+ CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
このエラーの原因についてchatGPTに質問(上記エラーべた貼り)してみたところ
PowerShellの実行ポリシーが設定されているため、PowerShellでスクリプトを実行できない場合に発生することがあります。この場合、tscコマンドを実行する前に、PowerShellの実行ポリシーを変更する必要があります。
と、それに対する対処法が返ってきた。
しかし、内容に関して同じように実行してもエラー依然残ったままであった。
エラー2
tsc : 用語 'tsc' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されている
ことを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ tsc -p c:\node-workspase\8\tsconfig.json
+ ~~~
+ CategoryInfo : ObjectNotFound: (tsc:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
GPTに聞いたところ
このエラーは、TypeScriptコンパイラであるtscが見つからないことを示しています。可能性としては、tscをインストールしていない、PATHにtscが追加されていない、またはtscをインストールするために必要な環境変数が正しく設定されていないことが考えられます。
とのことだった。しかし、解決法に関しては先ほど既に行ったことしかなく、意味がなかった。
最終的に、vscode内にあるcmdでは認識しなかった。
しかし、標準のcmdで試しに実行してみたところ、普通にコンパイルがされた。
まとめ
試しに、vscode_cmdで行おうとしたところ無駄に時間を食ってしまった。
cmdで実行できる以上ほとんど困りませんが、
もしこれらエラーを解決できる方がいたら教えていただきたいです。