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

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

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

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

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

8587閲覧

Vagrantでnpm installするとエラーが出る

RyoM

総合スコア90

npm

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

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2017/11/01 05:05

お世話になります。
題名通り、vagrant上でnpm installをするとシンボリックリンクの拒否が理由でエラーが出ました。
調べてみると、

  • リストVirtual Box上ではセキュリティの関係上、共有フォルダにシンボリックリンクを張ることを禁止している。

ということみたいで、--no-bin-linksオプションをつけるとうまくいくということを記述されているのですが、
それをつけて、もう一度実行すると

npm ERR! path /home/vagrant/code/public/Peppy/node_modules/fsevents/build/Release/.deps/Users/eshanker/Code/fsevents/lib npm ERR! code ETXTBSY npm ERR! errno -26 npm ERR! syscall rmdir npm ERR! ETXTBSY: text file is busy, rmdir '/home/vagrant/code/public/Peppy/node_modules/fsevents/build/Release/.deps/Users/eshanker/Code/fsevents/lib' npm ERR! A complete log of this run can be found in: npm ERR! /home/vagrant/.npm/_logs/2017-11-01T04_51_06_278Z-debug.log vagrant@homestead:~/code/public/Peppy$ sudo npm install --no-bin-links npm ERR! path /home/vagrant/code/public/Peppy/node_modules/fsevents/build/Release/.deps/Users/eshanker/Code/fsevents npm ERR! code ETXTBSY npm ERR! errno -26 npm ERR! syscall rmdir npm ERR! ETXTBSY: text file is busy, rmdir '/home/vagrant/code/public/Peppy/node_modules/fsevents/build/Release/.deps/Users/eshanker/Code/fsevents' npm ERR! A complete log of this run can be found in: npm ERR! /home/vagrant/.npm/_logs/2017-11-01T04_53_48_591Z-debug.log vagrant@homestead:~/code/public/Peppy$

というエラーが出てしまいます。
おそらく

  • bin package moduleをインストールする際、WinsowsのPathの最大長制限(260文字)に引っかかっている。
  • ホストOSがWindowsの場合、Vagrantの共有フォルダ(/vagrant)はWindowsのフォルダであるため、そこにPathを通す際、260文字を超えるとWindowsのPathの最大長に引っかかる。

という理由な気がするんですが、これの直し方をお分かりの方がいらっしゃればよろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

結論を最後に書きますが、一応その状態での解決方法を書いておきます。

ファイル名のパス長の問題はどこかで解決していた気がするので
以下を試してみてください。

・VirtualBox、Vagrantを最新版にする
・npm、nodeを最新版にする
・管理者権限でコンソールを立ち上げてからvagrant up、sshする

もう少し込み入った設定などは
windowsでlaravel5をvagrantの共有フォルダで開発しようと思っている人へ。 - Qiita
に記載しています。

ただ、現状ではVagrant上の共有フォルダ内でnpm installするのは速度的な面もあってあまり良いとは言いにくいです。
私のおすすめはWindowsに直接nodeを入れてクライアント側でnpm installする方法です。
こちらの方が比較的早くインストールが終わりますので、良いかと思われます。

投稿2017/11/02 23:02

fagai

総合スコア2158

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問