Vagrantで共有フォルダを作った場所でnpmエラー
環境
・ホストマシン :Ubuntu
・Vagrant :2.2.4
・Vagrantbox :bento/centos-7.6 (virtualbox, 201906.17.0)
やりたいこと
VagrantでAngular6を動かしたい。共有フォルダを作りたい。
#Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "bento/centos-7.6"
config.vm.network "private_network", ip: "192.168.55.10"
config.vbguest.auto_update = false
config.vm.synced_folder ".", "/home/vagrant/html"
end
ssh接続後
$ nvm install v10.16.0
$ node -v
v10.16.0
$ npm -v
6.9.0
/home/vagrant/html内で
$ node -e "console.log(global.module.paths)"
[ '/home/vagrant/html/node_modules',
'/home/vagrant/node_modules',
'/home/node_modules',
'/node_modules' ]
$ npm root -g
/home/vagrant/.nvm/versions/node/v10.16.0/lib/node_modules
$ npm config get prefix
/home/vagrant/.nvm/versions/node/v10.16.0
$ echo export NODE_PATH=$(npm root -g) >> ~/.bash_profile
$ source ~/.bash_profile
ただし、node -e "console.log(global.module.paths)"の内容は変わらず
~/.bash_profileは
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export NODE_PATH=/home/vagrant/.nvm/versions/node/v10.16.0/lib/node_modules
nodeコマンドだと
[vagrant@localhost html]$ node
> global.module.paths
[ '/home/vagrant/html/repl/node_modules',
'/home/vagrant/html/node_modules',
'/home/vagrant/node_modules',
'/home/node_modules',
'/node_modules',
'/home/vagrant/.nvm/versions/node/v10.16.0/lib/node_modules',
'/home/vagrant/.node_modules',
'/home/vagrant/.node_libraries',
'/home/vagrant/.nvm/versions/node/v10.16.0/lib/node' ]
>
$ npm install -g @angular/cli
〜省略〜
+ @angular/cli@8.0.4
added 228 packages from 175 contributors in 426.273s
$ng new MyApp
〜省略〜
npm ERR! path /home/vagrant/html/MyApp/node_modules/@angular/compiler-cli/node_modules/ansi-regex/package.json.1027151247
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/home/vagrant/html/MyApp/node_modules/@angular/compiler-cli/node_modules/ansi-regex/package.json.1027151247'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /home/vagrant/.npm/_logs/2019-06-25T01_31_17_927Z-debug.log
Package install failed, see above.
ちなみに、ゲスト側のリンクを/vagrant や /vagrant/html
としているときは、ng serve →OK、Angularの表示までできました。
$HOMEにアプリケーションを作るのが適切かと思い、
/home/vagrant/htmlにシンボリックリンクを貼りたいのですが
そうするとエラーになってしまいます。
解決策を教えていただければ幸いです。