質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

208閲覧

WSL2環境でnpm run devコマンドが実行できない

senchan

総合スコア1

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2024/04/30 04:02

編集2024/04/30 11:22

実現したいこと

WSL2上のUbuntuでnpm run devコマンドを正常に実行する

発生している問題・分からないこと

ほんとに初学者で、質問も分かりにくくて申し訳ないです。前に、Laravelを使った簡易的なブログのアプリケーションをxamppで構築したのですが、それをDockerを使って動かしたいと思い、環境を構築しています。
wsl integrationの有効化は設定済みです。
今までUbuntuのターミナルで実行したコマンドは以下です。
docker run -it -v $(pwd):/opt -w /opt laravelsail/php81-composer:latest /bin/bash
composer create-project 'laravel/laravel:10.*' sail-example
cd sail-example
php artisan sail:install
exit
./vendor/bin/sail up -d
sudo chown -R ユーザー名:ユーザー名 .
./vendor/bin/sail php artisan key:generate
./vendor/bin/sail composer require laravel/ui
ここでディレクトリに対して適切な書き込み権限がないというエラーが出て、Linux ファイル システムのルート ディレクトリにファイルをコピーして作業再開しました。(それまでは、適当な位置にディレクトリを作って、/mnt/c/ディレクトリ名 のような感じで実行していました。)
./vendor/bin/sail artisan ui vue --auth

現在、Laravelのトップページが開けて、とphp my adminでデータベースを構築する準備ができている状態です。

package.jsonには以下のように書かれています。

{ "private": true, "type": "module", "scripts": { "dev": "vite", "build": "vite build" }, "devDependencies": { "@popperjs/core": "^2.11.6", "@vitejs/plugin-vue": "^4.5.0", "axios": "^1.6.4", "bootstrap": "^5.2.3", "laravel-vite-plugin": "^1.0.0", "sass": "^1.56.1", "vite": "^5.0.0", "vue": "^3.2.37" } }

エラーメッセージ

Ubuntuで、./vendor/bin/sail npm installと実行すると以下のようなエラーが出ます。

error

1root@LAPTOP-QSAVH99J:/home/kitano/sail-example# ./vendor/bin/sail npm install 2npm error code EACCES 3npm error syscall mkdir 4npm error path /var/www/html/node_modules/@popperjs 5npm error errno -13 6npm error [Error: EACCES: permission denied, mkdir '/var/www/html/node_modules/@popperjs'] { 7npm error errno: -13, 8npm error code: 'EACCES', 9npm error syscall: 'mkdir', 10npm error path: '/var/www/html/node_modules/@popperjs' 11npm error } 12npm error 13npm error The operation was rejected by your operating system. 14npm error It is likely you do not have the permissions to access this file as the current user 15npm error 16npm error If you believe this might be a permissions issue, please double-check the 17npm error permissions of the file and its containing directories, or try running 18npm error the command again as root/Administrator. 19 20npm error A complete log of this run can be found in: /home/sail/.npm/_logs/2024-04-30T06_22_51_017Z-debug-0.log 21

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

Node.jsとnpmをWSLのUbuntuに再インストールしましたが、問題は解決しませんでした。
npmのキャッシュをクリアしましたが、同じエラーが出続けています。

補足

WSL2を使用しているWindows 11の環境で発生しています。特に、esbuildのインストール中にWindowsのパスが参照されることが問題となっているようです。また、この問題はDockerコンテナ内で発生しており、Dockerのセットアップや設定が関係している可能性があります。どのようにこの問題を解決すればよいか、具体的な手順を教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi-sun

2024/04/30 09:29

> WSL2環境で > npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node install.js > npm ERR! ��L�̌��݂̃f�B���N�g���� CMD.EXE ���J�n���܂����B どうみてもcmdやないかい。 cmdはWindowsそのものが提供しているターミナルエミュレータで ちっともWSL2とは関係ありません。 WSLってのはLinuxマシンでしか動かないあれやらこれを 何とかWindowsマシンで動かしたいから何とか工夫してるプロダクトのことです。 WSL1はLinux用に書かれた機械語のデータを無理やり変換するという感じで動かしていたようですが頓挫。 WSL2は仮想マシンを用意してLinuxをインストールするという大昔からある手法を利用した現実的な作戦です。 WSL2で動かすのでばれubuntuみたいなファイルを実行して、 仮想マシンを操る為のターミナルエミュレータを作動させ、その中で操作するという手段が使えます。 この辺踏まえてWSL2の動かし方、使い方などをもう一度振り返って見てください。
senchan

2024/04/30 11:23

コメントありがとうございます。質問を修正したのでご確認よろしくお願いいたします。
guest

回答1

0

npm run devはpackage.jsonで勝手に定義できるscriptsでしかないのでpackage.jsonを書かないと他人には何も分からない。
sailってことはLaravelだけどそんな一番重要なことさえ質問からは分からない。

どんなエラーが出てるかではなく「質問者が何をしたか」を書かないと誰も解決できない。
Docker Desktopの設定でWSL integrationの有効化が必要だけどこれをしてるのかさえ分からない。

Sailなのに「Docker内でnpm run dev実行」なんてしてるのが根本的に間違ってるので質問以前のところで間違えている。

大事な前提。コマンドの実行はWSLのUbuntuで行う。これを忘れないように。Windows TerminalでUbuntuを開く。
Sailならdevの前にまずbuildを実行。

sail up -d sail npm install sail npm build

devは開発サーバーなので通常の動作確認ができてない段階で使うものではない。
これができればSailを使える段階まで進んでいる。
初心者にこれ以上説明しても混乱するだけなので「WSLのUbuntu環境で常にsailコマンド経由で使う」だけ覚えればいい。

投稿2024/04/30 04:48

pcs

総合スコア409

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

senchan

2024/04/30 06:37

ほんとに初学者で、質問も分かりにくくて申し訳ないです。前に、Laravelを使った簡易的なブログのアプリケーションをxamppで構築したのですが、それをDockerを使って動かしたいと思い、環境を構築しています。 wsl integrationの有効化は設定済みです。 今までUbuntuのターミナルで実行したコマンドは以下です。 docker run -it -v $(pwd):/opt -w /opt laravelsail/php81-composer:latest /bin/bash composer create-project 'laravel/laravel:10.*' sail-example cd sail-example php artisan sail:install exit ./vendor/bin/sail up -d sudo chown -R ユーザー名:ユーザー名 . ./vendor/bin/sail php artisan key:generate ./vendor/bin/sail composer require laravel/ui ここでディレクトリに対して適切な書き込み権限がないというエラーが出て、Linux ファイル システムのルート ディレクトリにファイルをコピーして作業再開しました。(それまでは、適当な位置にディレクトリを作って、/mnt/c/ディレクトリ名 のような感じで実行していました。) ./vendor/bin/sail artisan ui vue --auth 現在、Laravelのトップページが開けて、とphp my adminでデータベースを構築する準備ができている状態です。 Ubuntuで、./vendor/bin/sail npm installと実行すると以下のようなエラーが出ます。 ``` root@LAPTOP-QSAVH99J:/home/kitano/sail-example# ./vendor/bin/sail npm install npm error code EACCES npm error syscall mkdir npm error path /var/www/html/node_modules/@popperjs npm error errno -13 npm error [Error: EACCES: permission denied, mkdir '/var/www/html/node_modules/@popperjs'] { npm error errno: -13, npm error code: 'EACCES', npm error syscall: 'mkdir', npm error path: '/var/www/html/node_modules/@popperjs' npm error } npm error npm error The operation was rejected by your operating system. npm error It is likely you do not have the permissions to access this file as the current user npm error npm error If you believe this might be a permissions issue, please double-check the npm error permissions of the file and its containing directories, or try running npm error the command again as root/Administrator. npm error A complete log of this run can be found in: /home/sail/.npm/_logs/2024-04-30T06_22_51_017Z-debug-0.log ``` package.jsonには以下のように書かれています。 ``` { "private": true, "type": "module", "scripts": { "dev": "vite", "build": "vite build" }, "devDependencies": { "@popperjs/core": "^2.11.6", "@vitejs/plugin-vue": "^4.5.0", "axios": "^1.6.4", "bootstrap": "^5.2.3", "laravel-vite-plugin": "^1.0.0", "sass": "^1.56.1", "vite": "^5.0.0", "vue": "^3.2.37" } } ```
Eggpan

2024/04/30 09:02

コメントは見る人がかぎられますので、質問を編集されたほうがよいかと思います。 sail使いたいのであれば公式ドキュメントに書かれている curl -s https://laravel.build/example-app | bash でLaravelをセットアップしたほうが良いです。 https://laravel.com/docs/11.x/installation#sail-on-windows composer, docker等の仕組みを理解せずに手動セットアップは初学者には恐らく難しいです
senchan

2024/04/30 11:31

質問編集しました。ありがとうございます。 やはり、厳しいですかね。。 提供していただいたコマンドを使ってもう一度チャレンジしてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問