2024年5月6日月曜日

VSCodeのターミナルでTypeScriptのコンパイラが動かない

 地味に、開発の勉強を再開しています。

TypeScript を使って色々と実験をしようと思っています。

開発環境?としては、VSCodeを使用しているのですが、そのままの流れで VSCode のターミナルから Node.js を、winget で導入して、さっそく TypeScript をインストールし試しにバージョン確認を行おうとすると、下記のエラーが出ました。

> tsc -v
tsc : このシステムではスクリプトの実行が無効になっているため、ファイル C:\tsc.ps1 を読み込むこと
ができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ tsc -v
+ ~~~
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

想定と違う結果が返ってきたら焦りますよね。 

よく読むとちゃんとセキュリティエラーと書かれてあるのに、何が悪いのかがしばらく理解できませんでした。

で、とりあえずググってみたら、実行ポリシーの設定が標準のままなので、エラーとして返されているとのこと。ここでようやくメッセージのセキュリティエラーを見て腑に落ちるという感じです。

そのまんまですが、標準ではスクリプト実行が禁止状態となっているようで、PowerShell を管理者権限で実行する必要があるとのこと。ただ、今回は VSCode のターミナルなのでどうすればよいかというと、実行ポリシーを変更すれば良いとのことでした。

実行ポリシーを変更するには、下記のコマンドを実行します。

> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

設定できたかは、下記のコマンドで確認ができます。

 > Get-ExecutionPolicy

 ここで、設定した「RemoteSigned」の文字列が返ってくれば、tsc コマンドが問題なく実行できるはずです。

> tsc -v Version 5.4.5

これで、TypeScript のコマンドが実行できるようになったので、開発を進めることができます。

だいぶ開発から離れているので、エラー文を見ると匙を投げそうになりますが、踏ん張って調査して、解決策を教えてくれている方に感謝しながら進めるという感覚が懐かしいと感じた今日この頃でした。 

解決策を投稿されている方ありがとうございます。私自身も貢献できるようにしていきたいと思います。

0 件のコメント:

コメントを投稿