如何在Vagrant Rsync中排除(忽略)某些文件夹



我希望在我的Vagrant Virtual Box中运行NPM。

但是,每当我运行NPM安装命令时,我的rsync都会执行。由于我的主机计算机没有安装node_modules,因此只需完全删除我的文件夹。

我需要做什么,以使我的Vagrant Rsync忽略Node_modules文件夹?

我不能将node_modules rsannn rsyn rsyn rsuty机器,因为我的主机和来宾是两个不同的系统。到目前为止,我的Vagrantfile看起来像这样。

Vagrant.configure("2") do |config|
  config.vm.box = "laravel/homestead"
  config.vm.hostname = "localhost"
  config.vm.network "forwarded_port", guest: 8000, host: 8000
  config.vm.synced_folder "./", "/home/vagrant/app"
  config.vm.provider "virtualbox" do |v|
    v.name = "web2"
    v.memory = "4096"
    v.cpus = 2
    v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME", "1"]
  end
  config.vm.synced_folder "./", "/home/vagrant/app", type: "rsync", rsync_auto: true, rsync_exclude: ['node_modules*']
  config.vm.provision :shell, path: "provision/setup.sh"
end

我通过

执行Vagrant rsync
vagrant rsync-auto

rsync__exclude以及 rsync__auto取2 _

您需要将行重写为

config.vm.synced_folder "./", "/home/vagrant/app", type: "rsync", rsync__auto: true, rsync__exclude: ['./node_modules*']

步骤3在http://perrymitchell.net/article/npm-symlinks-though-vagrant-windows/最终对我来说更好...

从页面上:

步骤很简单:

  1. 如果存在node_modules目录。

  2. 创建一个名称为" node_modules_projectName"目录。在VM的主目录(〜(中(一些文章和帖子建议/tmp中的目录,但显然在重新启动时清除了此目录,因此可以对于这种类型的事情,不是最佳体验(。

  3. 从项目目录中链接本地node_modules dir

    ln -s ~/node_modules_projectname /path/to/your-project/node_modules

  4. 在项目目录中安装软件包:

    npm install

最新更新