我安装了预先安装了MEAN堆栈的this流浪盒(下载量为1.3k,所以我假设是一个很好的)。
我尝试运行yo meanjs
,但它没有必要的权限来写文件夹,所以我尝试了sudo yo meanjs
并且它崩溃了以下错误:
Error: EACCES, permission denied '/home/vagrant/.config/configstore/insight-yo.yml'
You don't have access to this file.
我对MEAN堆栈相对较新,但据我所知,root通常具有无限的权限,为什么会发生这种情况,我错过了什么?
答案 0 :(得分:0)
我能够让这个盒子工作,但是我必须在vagrant文件中改变一些东西,并在盒子里做。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "arvindr21/mean-box"
config.vm.network :forwarded_port, guest: 8080, host: 8080
config.vm.network :forwarded_port, guest: 80, host: 2000
config.vm.network :forwarded_port, guest: 3000, host:3000
config.vm.provision "shell", inline: <<-SHELL
# Update Stuff
# =======================================
apt-get -y update
# Folder Sync
# =======================================
echo "Folder Sync"
if ! [ -L /var/www ]; then
rm -rf /var/www
ln -fs /vagrant /var/www
fi
SHELL
end
要进入您的框,您需要执行vagrant ssh
。
然后将目录更改为您的vagrant文件夹,该文件夹实际上是sym链接到您工作的文件夹。 cd /vagrant
请使用yo meanjs
您将收到错误,因为并非所有依赖项都是从您的NPM直接安装的。
在此步骤之后,您将运行sudo npm install,这将获得所有依赖项。安装需要一段时间。
最后,您已准备好执行grunt
以使您的应用程序在端口3000上运行。这将需要一段时间,您将看到错误节点env未定义,但应用程序将运行为预计在localhost:3000
希望有所帮助。