こんにちは、現役エンジニアの inno_tech です。
TypeScriptのビルド時に「/tmp/npx-bb6f3a49.sh: 1: tsc: Permission denied ubuntu」というエラーが発生しました。備忘録として解決方法をまとめます。
本記事は、WSL2 / Ubuntu 20.04LTS / Node.js環境 で動作確認しています。
もくじ
問題|エラー内容
TypeScriptプロジェクトをビルドしたところ、「/tmp/npx-bb6f3a49.sh: 1: tsc: Permission denied ubuntu」というエラーが発生。
// ビルド実行
npm run build
// こんなエラーがでた
/tmp/npx-bb6f3a49.sh: 1: tsc: Permission denied ubuntu
んー別のPCでは普通にビルドできるのになんで?
解決策|node_modulesフォルダーを削除
アクセス関係のエラーなので、各種パッケージが保存されている「node_modules」フォルダーを一旦削除し、再度ビルドして治りました。
// node_modules をフォルダごと削除
rm -rd ./node_modules
// 依存パッケージを再インストール
npm install
// ビルド ⇒ OK
npm run build
原因としては、npm install したときのユーザー と ビルドしたユーザーが異なる場合に起きます。
当方の環境の場合、WSL2でwindowsとUbuntuでフォルダーを共有しており、Windowsユーザーでnpm installした後、WSL2のubuntuユーザーでビルドした結果、Permission Denied エラーが発生しました。
今度から気を付けますぅ。
まとめ
今回のまとめです。
- TypeScript (Node.js) でPermission Deniedエラーが起きた場合、 node_modules配下を削除する.
- node_modulesを削除後、ビルド実行ユーザーで npm install を実行.
- npm installユーザー と ビルド実行ユーザー が異なる場合 に 権限エラー が発生.
このミステリーがすごい!2022年版で国内編1位に選出された注目の本が気になる方はこちら。
リンク
参考になったでしょうか。
ほかにも役立つ情報が他のページにあるかもしれないのでお見逃しなく!
ご覧になるかはあなた次第です!
この記事がイイねと思ったら、Twitterフォロー か にほんブログ村のどちらかしてくれたら嬉しいよ!
コメント / ご要望