node.js - 在 Windows 上的 Docker 中安装 Node 模块在创建符号链接(symbolic link)时失败

标签 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

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

知道符号链接(symbolic link)失败的原因吗?我认为这是因为 npm 缓存位于虚拟机中尝试符号链接(symbolic link)到 windows 目录,但尝试将缓存移动到 windows 目录也失败(npm config set cache ~/.npm --global)

最佳答案

您是否确定已安装适用于 VirtualBox 版本的 Virtualbox 扩展包?通常这就是罪魁祸首。

关于node.js - 在 Windows 上的 Docker 中安装 Node 模块在创建符号链接(symbolic link)时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33091280/

相关文章:

node.js - Node 在 Windows 10 上找不到 webpack 模块

javascript - 如何修复 React Native 中的 "Tried to register two views with the same name RNGestureHandlerButton"?

javascript - node.js 将数组传递给 mysql 回调

javascript - 我可以让 Node.JS 生成没有 html 页面的 Canvas 吗?

javascript - Mongoose promise 和 Q promise

angular - 无法访问docker容器中的 Angular 应用程序

windows - npm global install 不会在 Windows 8.1 上将包添加到 PATH

node.js - 排除虚拟字段

python - 将 dockerfile 从目录配置为 'read'?

docker - 如何将docker容器ip映射到主机ip(NAT而不是NAPT)?