我在Windows中运行了一个nodejs docker实例。 我已经将一个启用了写入的Windows目录挂载到docker实例。 我正在尝试将shelljs安装到我的项目中,但它失败并出现以下错误:
npm ERR! Linux 4.0.9-boot2docker
npm ERR! argv "/opt/nodejs/bin/node" "/usr/bin/npm" "install" "shelljs"
npm ERR! node v4.1.2
npm ERR! npm v2.14.4
npm ERR! path ../shelljs/bin/shjs
npm ERR! code EPROTO
npm ERR! errno -71
npm ERR! syscall symlink
npm ERR! EPROTO: protocol error, symlink '../shelljs/bin/shjs' -> '/home/app/meteor-webpack-react/node_modules/.bin/shjs'
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 4.0.9-boot2docker
npm ERR! argv "/opt/nodejs/bin/node" "/usr/bin/npm" "install" "shelljs"
npm ERR! node v4.1.2
npm ERR! npm v2.14.4
npm ERR! path npm-debug.log.907b6eb81436ba935104c98d206fb37c
npm ERR! code ETXTBSY
npm ERR! errno -26
npm ERR! syscall rename
npm ERR! ETXTBSY: text file is busy, rename 'npm-debug.log.907b6eb81436ba935104c98d206fb37c' -> 'npm-debug.log'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /home/app/meteor-webpack-react/npm-debug.log
&#13;
请注意,我已启用符号链接创建(http://www.ahtik.com/blog/fixing-your-virtualbox-shared-folder-symlink-error/),可以通过ln -s手动完成。我正在以管理员身份运行计算机。
了解符号链接失败的原因。我认为这是因为npm缓存在虚拟机中尝试符号链接到Windows目录,但是尝试将缓存移动到Windows目录也失败了(npm config set cache~ / .npm --global)
答案 0 :(得分:1)
您是否确定已为正确版本的VirtualBox安装了Virtualbox Extension Pack?通常这就是罪魁祸首。