在Windows上的Docker中安装节点模块在创建符号链接时失败

时间:2015-10-12 22:34:33

标签: node.js docker npm

我在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;
&#13;
&#13;

请注意,我已启用符号链接创建(http://www.ahtik.com/blog/fixing-your-virtualbox-shared-folder-symlink-error/),可以通过ln -s手动完成。我正在以管理员身份运行计算机。

了解符号链接失败的原因。我认为这是因为npm缓存在虚拟机中尝试符号链接到Windows目录,但是尝试将缓存移动到Windows目录也失败了(npm config set cache~ / .npm --global)

1 个答案:

答案 0 :(得分:1)

您是否确定已为正确版本的VirtualBox安装了Virtualbox Extension Pack?通常这就是罪魁祸首。