首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法访问Vagrant文件夹中的文件

无法访问Vagrant文件夹中的文件
EN

Stack Overflow用户
提问于 2015-12-01 02:40:53
回答 2查看 763关注 0票数 1

我正在Vagrant中运行docker容器( Vbox 5.0.10作为提供者),下面是我的Vagrantfile:

代码语言:javascript
复制
Vagrant.configure(2) do |config|

  config.ssh.insert_key = false

  config.vm.box = "ubuntu/trusty64"

  config.vm.box_check_update = false

  config.vm.network "forwarded_port", guest: 80, host: 8585

  config.vm.provider "virtualbox" do |vb|
    vb.cpus = 2
  end

  config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"

  config.vm.provision "shell", inline: <<-SHELL
     sudo apt-get update
  SHELL

  #Docker
  config.vm.provision "docker" do |d|
    #d.build_image "/vagrant/app"
  end

  #Docker-compose
  config.vm.provision :docker_compose, yml: "/vagrant/project/web-project/docker-compose.yml", rebuild: true, run: "always"

end

我在/迷航/项目/web-项目/节点_模块中有节点模块,这是由npm安装生成的文件夹。node_modules文件夹中的几乎所有文件和文件夹都可以访问,但此文件夹除外:

代码语言:javascript
复制
 /vagrant/project/web-despatch/node_modules/babel-preset-es2015/node_modules/babel-plugin-transform-es2015-block-scoping/
node_modules/babel-traverse/node_modules/babel-code-frame/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js

错误是:

代码语言:javascript
复制
OSError: [Errno 2] No such file or directory: '/vagrant/project/web-project/nod
e_modules/babel-preset-es2015/node_modules/babel-plugin-transform-es2015-block-s
coping/node_modules/babel-traverse/node_modules/babel-code-frame/node_modules/ch
alk/node_modules/has-ansi/node_modules/ansi-regex/index.js'

然后,我继续通过ssh登录到流浪者那里来识别这个问题:

代码语言:javascript
复制
Yoesoff_I@MTPC432 /cygdrive/d/OS/vweb-project
$ vagrant.exe ssh   #yes_I'm_using_cygwin

现在我在迷幻药VM中,我转到里面找不到文件的文件夹:

代码语言:javascript
复制
vagrant@vagrant-ubuntu-trusty-64:~$ cd /vagrant/project/web-project/node_modules/babel-preset-es2015/node_modules/babel-plugin-transform-es2015-block-sc
oping/node_modules/babel-traverse/node_modules/babel-code-frame/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/

然后我尝试ls,结果如下:

代码语言:javascript
复制
node_modules/babel-traverse/node_modules/babel-code-frame/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex$ ls
ls: cannot access index.js: No such file or directory
ls: cannot access license: No such file or directory
ls: cannot access package.json: No such file or directory
ls: cannot access readme.md: No such file or directory
index.js  license  package.json  readme.md

有人能帮我解决这个问题吗?

谢谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-02 03:53:48

我通过使用rsync解决了这个问题(您可以在这里看到https://docs.vagrantup.com/v2/synced-folders/rsync.html中的文档,并且不要忘记启动它同步守护进程https://docs.vagrantup.com/v2/cli/rsync-auto.html )。

下面是mya同步文件夹配置:

代码语言:javascript
复制
config.vm.synced_folder "./project/web-project", "/web-project", type: "rsync", rsync__exclude: ".git/", rsync__args: ["--verbose", "--rsync-path='sudo rsync'", "--archive", "--delete", "-z"]

您可以使用以下方法手动启动rsync:

代码语言:javascript
复制
vagrant.exe rsync-auto
票数 0
EN

Stack Overflow用户

发布于 2018-03-23 20:02:56

当我的停靠器容器的主机几乎没有磁盘空间时,我也收到了同样的错误。抓挠我的头,尝试了很多不同的东西,但是直到我完全没有磁盘空间时才得到更多的信息,然后它使我增加了可用的空间,并为我解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34011688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档