2017-04-21 58 views
0

我目前正在建立一个虚拟机做东一个Web开发项目中,我从事该行为。 给一些初始上下文作为在作怪项目的规格,我使用Vagrant将提供者作为VirtualBox供应给虚拟机。 主机操作系统是Windows 10(如果有帮助,则为Build 14393.1066),客户操作系统为Ubuntu 16.04.2 LTS。 VagrantFile设置了2个额外的同步文件夹(即:在/ vagrant自动完成的顶部)。问题在虚拟机上运行的NPM使用流浪汉

我决定,第一次(不要太震惊),我会开始使用NPM与我的项目因一些插件我想要的。 一个这样的插件吞了一口。我正在通过吞咽Getting Started并尝试在我的项目目录(这是一个同步文件夹)中运行npm install --save-dev gulp。 这产生(部分)错误npm ERR! syscall symlink

这并没有最初担心我的问题是,网上有据可查的,似乎属于刺激性MAX_PATH业务在Windows中。 我试图建议的修复,在我的VagrantFile加入以下代码:

config.vm.provider "virtualbox" do |v| 
    v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"] 
end 

Vagrant.configure("2") do |config|end之间。

这并没有工作,但是,我认为下跌的事实,它可能只是让流浪汉目录中的符号链接。然后我试图通过与路径的来宾操作系统上的目录代替流浪者(我省略了封闭做,最终为了简洁)来添加符号链接津贴:

v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/var/www", "1"] 

当这个没有工作,我尝试添加符号链接功能,以同步文件夹位置与流浪者目录:

v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant/www", "1"] 

也无济于事。这个问题正在驱动我疯狂,并且是我认为在VirtualBox中修复的一个,因为他们在\\?业务附加了同步文件夹主机路径,以向Windows指示路径将超过MAX_PATH,但显然不是。

如果任何人有一个解决的办法,我将不胜感激。

回答

0

所以不长问这个问题后,我闭上了Bash终端中的错误。当我重新开放时,整个“以管理员身份运行”发生在我身上,我以这种方式打开了Bash。 我回到虚拟机,然后尝试再次运行所需的命令,瞧!有用。

总之,解决方案似乎正在运行的虚拟机从在管理员模式下被访问的Bash终端和添加

config.vm.provider "virtualbox" do |v| 
    v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant/syncedfoldername", "1"] 
end 

到VagrantFile是要走的路。