我有一个用ubuntu/trusty64
盒子创建的Vagrant虚拟机(它运行Ubuntu 14.04.3 LTS(GNU/Linux 3.13.0-66-通用x86_64)),带有Ruby on Rails、Node.js(5.x,但以前是0.12)和Ember CLI。
我试图通过运行ember new frontend
创建一个新的Ember应用程序,它总是给我一些错误:
Successfully initialized git.
Installing packages for tooling via npm...
npm ERR! tar.unpack untar error /home/vagrant/.npm/underscore.string/2.3.3/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/underscore.string/2.3.3/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/underscore.string/2.3.3/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/underscore.string/2.3.3/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/underscore.string/2.3.3/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/acorn/1.2.2/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/npm/2.14.10/package.tgz
npm ERR! tar.unpack untar error /home/vagrant/.npm/bower/1.7.0/package.tgz
EPROTO: protocol error, symlink '../semver/bin/semver' -> '/vagrant/emberrails/frontend/node_modules/ember-cli-dependency-checker/node_modules/.bin/semver'
Error: EPROTO: protocol error, symlink '../semver/bin/semver' -> '/vagrant/emberrails/frontend/node_modules/ember-cli-dependency-checker/node_modules/.bin/semver'
at Error (native)
为什么?我怎么才能弥补?
当我试图通过NPM自己安装一些包时,会出现这个问题,但我在命令中添加了--no-bin-links,这一切都很好,但我在ember new
上没有这个选项。
3条答案
按热度按时间kq0g1dla1#
--no-bin-links
告诉npm不要创建任何符号链接。tp5buhyn2#
符号链接在我的windows box上失败的原因是需要管理员权限。在windows上需要以管理员身份启动virtualbox才能创建符号链接,并且需要从提升的命令提示符下运行vagrant [ [https://docs.vagrantup.com/v2/virtualbox/common-issues.html](in](https://docs.vagrantup.com/v2/virtualbox/common-issues.html](in) order to interaction with virtualbox]
过去的解决方案是
但这不是必需的,因为这是virtualbox v1.1的默认行为。
mnemlml83#
如果您使用VirtualBox作为Vagrant的提供者,则可以将以下内容添加到Vagrant文件中