在Docker for Windows

时间:2016-08-14 15:42:05

标签: node.js docker babeljs

好吧,过去几天我一直试图运行它,无论我做什么,最终都会出错。这是场景。我正在尝试使用Cory House的redux入门套件运行开发环境:https://github.com/coryhouse/pluralsight-redux-starter

要做到这一点,我做了几件事:

  1. 安装Docker for Windows。

  2. 在“设置”对话框中选择“D”作为共享驱动器并保存“Windows 10”凭据,以便Docker可以访问“D”分区。

  3. 打开提升的“PowerShell”。

  4. 使用docker pull node:5.12.0命令拉取NodeJS:5.12.0。

  5. 使用以下命令创建容器:docker run -it -v d:/temp:/www node:5.12.0 bash

  6. https://github.com/coryhouse/pluralsight-redux-starter拉出package.json,webpack.config.dev.js,.babelrc和.eslintrc,然后将它们复制到我的Windows机器上的“d:\ temp”文件夹中。< / p>

  7. 在bash中从根目录更改为“www”。

  8. 使用npm install安装软件包。

  9. 似乎所有内容都安装正确,但最后,我收到以下错误消息:

    67097 warn optional Skipping failed optional dependency /chokidar/fsevents:
    67098 warn notsup Not compatible with your operating system or architecture: fsevents@1.0.14
    67099 verbose stack Error: ENOTSUP: operation not supported on socket, symlink
      '../acorn/bin/acorn' ->
      '/www/node_modules/acorn-jsx/node_modules/.bin/acorn'
    67099 verbose stack at Error (native)
    67100 verbose cwd /www
    67101 error Linux 4.4.15-moby
    67102 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
    67103 error node v5.12.0
    67104 error npm  v3.8.6
    67105 error path ../acorn/bin/acorn
    67106 error code ENOTSUP
    67107 error errno -95
    67108 error syscall symlink
    67109 error nospc ENOTSUP: operation not supported on socket, symlink
      '../acorn/bin/acorn' ->
      '/www/node_modules/acorn-jsx/node_modules/.bin/acorn'
    67110 error nospc This is most likely not a problem with npm itself
    67110 error nospc and is related to insufficient space on your system.
    67111 verbose exit [ -95, true ]
    
  10. 无论如何,我忽略了该消息并输入了npm start并发生以下错误:

    npm info it worked if it ends with ok
    npm info using npm@3.8.6
    npm info using node@v5.12.0
    npm info lifecycle pluralsight-redux-starter@1.0.0~prestart: pluralsight-redux-starter@1.0.0
    > pluralsight-redux-starter@1.0.0 prestart /www
    > babel-node tools/startMessage.js
    sh: 1: babel-node: not found
    
  11. 我尝试npm list | grep babel以确保正确安装了babel,看起来就像那里一样。那么这里有什么问题?请注意,我是Docker,Linux,NodeJS和NPM的新手。

    谢谢

2 个答案:

答案 0 :(得分:1)

如果/有同样的问题,不支持符号链接,你可以通过输入npm install --no-bin-links <package>来避免它们,但问题是...... babel需要符号链接。

最佳解决方案:摆脱Windows并获取mac / linux

可能的解决方案:我很快就会尝试使用数字海洋。 创建数字海洋液滴,连接到它而不使用sym链接,然后将其连接到docker,然后在docker中运行您的文件。因此,在docker和Droplet之间允许使用符号链接,但在Windows机器和Droplet之间不需要符号链接。

如果您尝试这个让我知道,否则我希望记得回来跟进!

答案 1 :(得分:0)

看起来像Docker for Windows中的Symlinks on shared volumes are not supported