NPM通过package.json安装express时出错

时间:2015-12-01 05:22:27

标签: express npm vagrant

我的节点和npm版本是最近的。 但是在./node_modules下会出现错误并且没有明文文件夹。 Express文件夹出现在/home/vagrant/.npm下 生成npm-debug.log。不知道如何附加它。

npm ERR! Linux 3.13.0-68-generic
npm ERR! argv "/home/vagrant/.nvm/versions/node/v4.2.2/bin/node" "/home/vagrant/.nvm/versions/node/v4.2.2/bin/npm" "install"
npm ERR! node v4.2.2
npm ERR! npm  v2.14.7
npm ERR! path ../mime/cli.js
npm ERR! code EPROTO
npm ERR! errno -71
npm ERR! syscall symlink

npm ERR! EPROTO: protocol error, symlink '../mime/cli.js' -> '/vagrant/testProject/node_modules/express/node_modules/send/node_modules/.bin/mime'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>
npm ERR! Linux 3.13.0-68-generic
npm ERR! argv "/home/vagrant/.nvm/versions/node/v4.2.2/bin/node" "/home/vagrant/.nvm/versions/node/v4.2.2/bin/npm" "install"
npm ERR! node v4.2.2
npm ERR! npm  v2.14.7
npm ERR! path npm-debug.log.f7bc0249588f17bea044ac621dd74bb9
npm ERR! code ETXTBSY
npm ERR! errno -26
npm ERR! syscall rename

2 个答案:

答案 0 :(得分:3)

您需要使用-–no-bin-link选项运行npm告诉npm您的文件系统不支持链接

如果要在每个npm命令上执行--no-bin-link,可以使用以下命令在主目录中的.bashrc文件中添加别名:

echo "alias npm='npm --no-bin-links'" >> /home/vagrant/.bashrc

另一种可能性是将您的配置设置为允许Vagrantfile中的Windows主机上的符号链接

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

请参阅https://github.com/npm/npm/issues/7308了解更多详情

答案 1 :(得分:2)

您应该告诉npm您的文件系统不支持符号链接,例如

npm config set bin-links false

来源:npm doesn't work in vagrant at GH-7308