EPROTO:使用ember new时的协议错误,符号链接'../semver/bin/semver'

Jul*_*ira 5 ubuntu node.js vagrant ember.js

我有一个用ubuntu/trusty64盒子创建的Vagrant虚拟机(它运行Ubuntu 14.04.3 LTS(GNU/Linux 3.13.0-66-generic x86_64))和Ruby on Rails,Node.js(5.x,但之前是0.12)和Ember CLI.

我正在尝试通过运行创建一个新的Ember应用程序ember new frontend,它总是给我一些错误:

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)
Run Code Online (Sandbox Code Playgroud)

为什么?我怎样才能解决这个问题?

当我尝试通过NPM自己安装一些软件包时会出现此问题,但后来我添加了--no-bin-links命令,一切都很好,但我没有这个选项ember new.

小智 8

 –no-bin-links
Run Code Online (Sandbox Code Playgroud)

-no-bin-links告诉npm不要创建任何符号链接.

  • `npm config set bin-links false`对我有用。在Windows上无所事事地运行。 (2认同)

Fré*_*nri 0

如果您使用 VirtualBox 作为 vagrant 的提供者,您可以将以下内容添加到您的 Vagrantfile 中

config.vm.provider "virtualbox" do |v|
    v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
end
Run Code Online (Sandbox Code Playgroud)