vagrant虚拟机共享目录在windows宿主下的禁忌
问题背景
宿主环境:Windows10
开发环境:vagrant(ubuntu)
操作目录:synced_folder (共享目录 )
执行命令:npm install
错误信息:
npm ERR! code ETXTBSY
npm ERR! errno -26
npm ERR! syscall rename
npm ERR! ETXTBSY: text file is busy, rename '/vagrant/parse-server-advanced/node_modules/cookie-signature/package.json.3666899342' -> '/vagrant/parse-server-advanced/node_modules/cookie-signature/package.json'
这就是一个文件权限的错误,因为client环境(vagrant box)对共享目录(synced_folder)中的文件操作权限不够
尝试解决
windows + vagrant (ubuntu) 开发
经常需要在 共享目录(shared_folder)中进行文件操作,包括但不限于:
- 解压缩,如 tar xzf,unzip
避免在共享目录中操作,到 vagrant(ubuntu) 非共享目录中操作
- 否则会报错,因为tar包里面的内容可能是从linux环境打包来的,是无法正常在windows环境中解压缩,也就无法安全地在shared_folder中解压缩
- 安装,如 npm install (本地安装,非 -g)
在host环境(windows)中进行(这就需要host环境中也要装node)
- 在client环境中非共享目录安装后,再挪到共享目录(mv)
vagrant@ganiks-ubuntu-trusty-64:~$ mv parse-server-advanced /vagrant/
mv: cannot create symbolic link ‘/vagrant/parse-server-advanced/node_modules/parse-dashboard/node_modules/.bin/mime’: Protocol error
mv: cannot create symbolic link ‘/vagrant/parse-server-advanced/node_modules/pg/node_modules/.bin/semver’: Protocol error
总结
总之,在windows机器上用vagrant
两者之间的 synced_folder 共享目录只能用于拷贝文件
千万不可在此目录中进行 npm install / tar xzvf 类操作;
如果一定要用 windows下的IDE如VSCode开发
- 服务端代码
- Vagrant虚拟机中的的代码(非共享目录)
- 因为windows环境下实在无法正常 npm install 的项目,只能放在Linux服务端或者Linux虚拟机中
- 如 crypto, ursa
- 因为windows环境下实在无法正常 npm install 的项目,只能放在Linux服务端或者Linux虚拟机中
可以尝试使用 VSCode + Sftp插件
相关问题
https://www.cnblogs.com/ganiks/p/Error-EACCES-permission-denied-symlink.html
https://www.cnblogs.com/ganiks/p/windows-install-cross-env-with-cnpm-instead-of-yarn-or-npm.html
vagrant虚拟机共享目录在windows宿主下的禁忌的更多相关文章
- 【转载】ubuntu和debian环境下无法挂载vmware虚拟机共享目录的解决办法
转载自:http://www.fengfly.com/plus/view-210022-1.html 第一步,安装VMware Tools 打开虚拟机ubuntu(debian原理一样)后,首先,点击 ...
- Windows与VBox虚拟机共享目录的方法
前言 安装完虚拟机,设置共享目录的时候碰到问题,网上搜索了一下,按照相关教程操作还是有问题,可能是写的不够清楚,于是按照自己的理解重写了一份,力求简单明了,理解轻松. 具体步骤 1.关闭虚拟机(如果未 ...
- Linux主机共享目录给Windows主机的方法
Linux主机共享目录可以通过samba来实现 首先,来看下百科上关于samba的介绍: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Ser ...
- Linux 虚拟机共享目录
1. 开启linux虚拟机 2. 菜单“虚拟机” -------“重新安装 Vm tools” 3. 桌面看到 VmTools 安装盘 4. 安装 5. 设置中添加共享目录 5. ...
- Linxu:在Linux下访问Windows的共享目录
在 Windows xp 上设置一个共享目录 共享目录:d:\myfiles 在 Linux 下安装 samba-client 客户端 yum install samba-client 安装 cifs ...
- 记录一次mac访问Windows共享目录失败
一,起因 起因,有人联系我说他们的mac电脑连接不上Windows的共享目录,Windows的电脑连接正常,没有报错,连接框抖两下就没了 二,排查问题 1,我自己想mstsc登陆服务器看看,结果服务器 ...
- Windows环境下32位汇编语言程序设计(典藏版)
<Windows环境下32位汇编语言程序设计(典藏版) > 基本信息 作者: 罗云彬 出版社:电子工业出版社 ISBN:9787121207594 上架时间:2013-7-8 出版日期:2 ...
- linux目录和Windows目录对比
linux目录和Windows目录对比 我们应该知道 Windows 有一个默认的安装目录专门用来安装软件.Linux 的软件安装目录也应该是有讲究的,遵循这一点,对后期的管理和维护也是有帮助的. / ...
- VMware10中的CentOS6.5命令行安装VMwaretools工具启用windows与虚拟机中Linux系统的共享目录
VMware10中的CentOS6.5命令行安装VMwaretools工具启用windows与虚拟机中Linux系统的共享目录 一.描述 系统描述:win7旗舰版64位系统+VMware Workst ...
随机推荐
- Build with runtime packages
编译问题:为什么我去掉Build with runtime packages,编译没问题??? 如果不去掉,就有错误:[Linker Error] Unresolved external 'TXNet ...
- 求 无向图的割点和桥,Tarjan模板
/* 求 无向图的割点和桥 可以找出割点和桥,求删掉每个点后增加的连通块. 需要注意重边的处理,可以先用矩阵存,再转邻接表,或者进行判重 */ const int MAXN = 10010; cons ...
- Spark学习(4)----ScalaTest
一.例子: 1.一个简单例子:https://www.jianshu.com/p/ceabf3437dd7 2.Funsuite例子:https://www.programcreek.com/scal ...
- linux下top命令的使用
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 视图参数含义 top视图分为两部分:操作系统资源概况信息和进程信息.首先分析资源 ...
- C#Socket编程(一)简介
一.TCP与UDP简介 https://blog.csdn.net/subin_iecas/article/details/80289513 二.单播.多播.广播 https://blog.csdn. ...
- Maven 配置问题 - could not find resource mybatis-config.xml
需要在pom中加入以下代码 <build> <resources> <resource> <directory>src/main/resources&l ...
- Codeforces Round #454 Div. 1 [ 906A A. Shockers ] [ 906B B. Seating of Students ] [ 906C C. Party ]
PROBLEM A. Shockers 题 http://codeforces.com/contest/906/problem/A 906A 907C 解 水题,按照题意模拟一下就行了 如果是 ‘ ! ...
- 【luoguP1311 】选择客栈
题目描述 丽江河边有nn家很有特色的客栈,客栈按照其位置顺序从 11到nn编号.每家客栈都按照某一种色调进行装饰(总共 kk 种,用整数 00 ~k-1k−1 表示),且每家客栈都设有一家咖啡店,每家 ...
- plotly绘图
import plotly.plotly as plt import plotly.offline as pltoff from plotly.graph_objs import * # 生成折线图 ...
- Oil Deposits (HDU - 1241 )(DFS思路 或者 BFS思路)
转载请注明出处:https://blog.csdn.net/Mercury_Lc/article/details/82706189作者:Mercury_Lc 题目链接 题解:每个点(为被修改,是#)进 ...