danielwrobert / vagrant-react-webpack

A basic Vagrant setup with Node.js, React.js, PostCSS, and Webpack
GNU General Public License v3.0
18 stars 13 forks source link

Running vagrant up generates errors with npm. #2

Open david-macias opened 7 years ago

david-macias commented 7 years ago

I'm installing this for the first time and I'm seeing a fair bit of warning and then errors when I try to bring up the vagrant box. I'm running Windows 7, however I do have another vagrant box which runs just fine. Here's the output of vagrant up:

==> default: Installing Node dependencies... ==> default: /home/vagrant/.nvm/versions/node/v7.3.0/bin/webpack -> /home/vagrant/.nvm/versions/node/v7.3.0/lib/node_modules/webpack/bin/webpack.js ==> default: /home/vagrant/.nvm/versions/node/v7.3.0/lib SNIP Directory Structure. ==> default: npm ==> default:
==> default: WARN ==> default:
==> default: optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/webpack/node_modules/chokidar/node_modules/fsevents): ==> default: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.15: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) ==> default: npm ==> default:
==> default: WARN ==> default:
==> default: optional ==> default: SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): ==> default: npm ==> default:
==> default: WARN ==> default:
==> default: notsup ==> default: SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.15: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) ==> default: npm ==> default:
==> default: WARN ==> default: vagrant-react-webpack@1.0.0 No repository field. ==> default: npm ==> default:
==> default: ERR! ==> default: Linux 3.13.0-105-generic ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: argv ==> default: "/home/vagrant/.nvm/versions/node/v7.3.0/bin/node" "/home/vagrant/.nvm/versions/node/v7.3.0/bin/npm" "install" ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: node ==> default: v7.3.0 ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: npm ==> default: v3.10.10 ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: path ==> default: ../acorn/bin/acorn ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: code ==> default: EPROTO ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: errno ==> default: -71 ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: syscall ==> default: symlink ==> default: npm ==> default:
==> default: ERR! ==> default: EPROTO: protocol error, symlink '../acorn/bin/acorn' -> '/vagrant/node_modules/.bin/acorn' ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: npm ==> default:
==> default: ERR! ==> default: If you need help, you may report this error at: ==> default: npm ==> default:
==> default: ERR! ==> default: https://github.com/npm/npm/issues ==> default: npm ==> default:
==> default: ERR! ==> default: Please include the following file with any support request: ==> default: npm ==> default:
==> default: ERR! ==> default: /vagrant/npm-debug.log ==> default: npm ==> default:
==> default: ERR! ==> default: Linux 3.13.0-105-generic ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: argv ==> default: "/home/vagrant/.nvm/versions/node/v7.3.0/bin/node" "/home/vagrant/.nvm/versions/node/v7.3.0/bin/npm" "shrinkwrap" "--dev" ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: node ==> default: v7.3.0 ==> default: npm ==> default:
==> default: ERR! ==> default:
==> default: npm ==> default: v3.10.10 ==> default: npm ==> default:
==> default: ERR! ==> default: Problems were encountered ==> default: npm ==> default:
==> default: ERR! ==> default: Please correct and try again. ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: align-text@0.1.4 /vagrant/node_modules/align-text ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: anymatch@1.3.0 /vagrant/node_modules/anymatch ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: assert@1.4.1 /vagrant/node_modules/assert ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: async-each@1.0.1 /vagrant/node_modules/async-each ==> default: npm ==> default:
==> default: ERR! ==> default: peer invalid: webpack@1 || 2 || ^2.1.0-beta || ^2.2.0-rc, required by babel-loader@6.2.10 ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: base64-js@1.2.0 /vagrant/node_modules/base64-js ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: binary-extensions@1.8.0 /vagrant/node_modules/binary-extensions ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: browserify-aes@0.4.0 /vagrant/node_modules/browserify-aes ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: browserify-zlib@0.1.4 /vagrant/node_modules/browserify-zlib ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: buffer@4.9.1 /vagrant/node_modules/buffer ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: builtin-status-codes@2.0.0 /vagrant/node_modules/builtin-status-codes ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: camelcase@1.2.1 /vagrant/node_modules/camelcase ==> default: npm ==> default:
==> default: ERR! extraneous: center-align@0.1.3 /vagrant/node_modules/center-align ==> default: npm ERR! extraneous: chokidar@1.6.1 /vagrant/node_modules/chokidar ==> default: npm ERR! extraneous: cliui@2.1.0 /vagrant/node_modules/cliui ==> default: npm ERR! extraneous: wordwrap@0.0.2 /vagrant/node_modules/cliui/node_modules/wordwrap ==> default: npm ERR! extraneous: console-browserify@1.1.0 /vagrant/node_modules/console-browserify ==> default: npm ERR! extraneous: constants-browserify@1.0.0 /vagrant/node_modules/constants-browserify ==> default: npm ERR! extraneous: crypto-browserify@3.3.0 /vagrant/node_modules/crypto-browserify ==> default: npm ==> default: ERR! ==> default: extraneous: date-now@0.1.4 /vagrant/node_modules/date-now ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: domain-browser@1.1.7 /vagrant/node_modules/domain-browser ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: enhanced-resolve@0.9.1 /vagrant/node_modules/enhanced-resolve ==> default: npm ==> default:
==> default: ERR! ==> default: extraneous: memory-fs@0.2.0 /vagrant/node_modules/enhanced-resolve/node_modules/memory-fs ==> default: npm ==> default:
==> default: ERR! extraneous: events@1.1.1 /vagrant/node_modules/events ==> default: npm ERR! peer invalid: webpack@^1.9.11, required by extract-text-webpack-plugin@1.0.1 ==> default: npm ERR! extraneous: https-browserify@0.0.1 /vagrant/node_modules/https-browserify ==> default: npm ERR! extraneous: ieee754@1.1.8 /vagrant/node_modules/ieee754 ==> default: npm ERR! extraneous: indexof@0.0.1 /vagrant/node_modules/indexof ==> default: npm ERR! extraneous: interpret@0.6.6 /vagrant/node_modules/interpret ==> default: npm ERR! extraneous: is-binary-path@1.0.1 /vagrant/node_modules/is-binary-path ==> default: npm ERR! extraneous: lazy-cache@1.0.4 /vagrant/node_modules/lazy-cache ==> default: npm ERR! extraneous: longest@1.0.1 /vagrant/node_modules/longest ==> default: npm ERR! extraneous: memory-fs@0.3.0 /vagrant/node_modules/memory-fs ==> default: npm ERR! extraneous: node-libs-browser@0.7.0 /vagrant/node_modules/node-libs-browser ==> default: npm ERR! extraneous: os-browserify@0.2.1 /vagrant/node_modules/os-browserify ==> default: npm ERR! extraneous: pako@0.2.9 /vagrant/node_modules/pako ==> default: npm ERR! extraneous: path-browserify@0.0.0 /vagrant/node_modules/path-browserify ==> default: npm ERR! extraneous: pbkdf2-compat@2.0.1 /vagrant/node_modules/pbkdf2-compat ==> default: npm ERR! extraneous: punycode@1.4.1 /vagrant/node_modules/punycode ==> default: npm ERR! extraneous: querystring@0.2.0 /vagrant/node_modules/querystring ==> default: npm ERR! extraneous: querystring-es3@0.2.1 /vagrant/node_modules/querystring-es3 ==> default: npm ERR! extraneous: readdirp@2.1.0 /vagrant/node_modules/readdirp ==> default: npm ERR! extraneous: right-align@0.1.3 /vagrant/node_modules/right-align ==> default: npm ERR! extraneous: ripemd160@0.2.0 /vagrant/node_modules/ripemd160 ==> default: npm ERR! extraneous: set-immediate-shim@1.0.1 /vagrant/node_modules/set-immediate-shim ==> default: npm ERR! extraneous: setimmediate@1.0.5 /vagrant/node_modules/setimmediate ==> default: npm ERR! extraneous: sha.js@2.2.6 /vagrant/node_modules/sha.js ==> default: npm ERR! extraneous: stream-browserify@2.0.1 /vagrant/node_modules/stream-browserify ==> default: npm ERR! extraneous: stream-http@2.5.0 /vagrant/node_modules/stream-http ==> default: npm ERR! extraneous: tapable@0.1.10 /vagrant/node_modules/tapable ==> default: npm ERR! extraneous: timers-browserify@2.0.2 /vagrant/node_modules/timers-browserify ==> default: npm ERR! extraneous: to-arraybuffer@1.0.1 /vagrant/node_modules/to-arraybuffer ==> default: npm ERR! extraneous: tty-browserify@0.0.0 /vagrant/node_modules/tty-browserify ==> default: npm ERR! extraneous: uglify-js@2.7.5 /vagrant/node_modules/uglify-js ==> default: npm ERR! extraneous: async@0.2.10 /vagrant/node_modules/uglify-js/node_modules/async ==> default: npm ERR! extraneous: uglify-to-browserify@1.0.2 /vagrant/node_modules/uglify-to-browserify ==> default: npm ERR! extraneous: url@0.11.0 /vagrant/node_modules/url ==> default: npm ERR! extraneous: punycode@1.3.2 /vagrant/node_modules/url/node_modules/punycode ==> default: npm ERR! extraneous: vm-browserify@0.0.4 /vagrant/node_modules/vm-browserify ==> default: npm ERR! extraneous: watchpack@0.2.9 /vagrant/node_modules/watchpack ==> default: npm ERR! extraneous: async@0.9.2 /vagrant/node_modules/watchpack/node_modules/async ==> default: npm ERR! extraneous: webpack-core@0.6.9 /vagrant/node_modules/webpack-core ==> default: npm ERR! extraneous: source-map@0.4.4 /vagrant/node_modules/webpack-core/node_modules/source-map ==> default: npm ERR! peer invalid: webpack@1 || ^2.1.0-beta || ^2.2.0-rc.0, required by webpack-dev-middleware@1.9.0 ==> default: npm ERR! peer invalid: webpack@>=1.3.0 <3, required by webpack-dev-server@1.16.2 ==> default: npm ERR! extraneous: window-size@0.1.0 /vagrant/node_modules/window-size ==> default: npm ERR! extraneous: xtend@4.0.1 /vagrant/node_modules/xtend ==> default: npm ERR! extraneous: yargs@3.10.0 /vagrant/node_modules/yargs ==> default: npm ERR! ==> default: npm ERR! If you need help, you may report this error at: ==> default: npm ERR! https://github.com/npm/npm/issues ==> default: npm ==> default:
==> default: ERR! ==> default: Please include the following file with any support request: ==> default: npm ==> default:
==> default: ERR! ==> default: /vagrant/npm-debug.log

Any thoughts?

jmaybury commented 7 years ago

@dmaciasSS I had similar problems on Windows 8; out of all those error messages it spits out, the key bit is:

EPROTO: protocol error, symlink '../acorn/bin/acorn' -> '/vagrant/node_modules/.bin/acorn'

Symlinks don't work on shared folders within Windows hosts. (This seems to be a common issue, not just for npm). I resolved this by logging in to my vagrant box and rerunning the failed provisioning step with the --no-bin-links flag:

> cd /vagrant
> npm install --no-bin-links
> npm shrinkwrap --dev

I assume this solution was what caused my next problem, namely that npm start could not find webpack-dev-server. I worked around that one by manually creating a symlink somewhere in my executable search path but not in a shared folder:

> sudo ln -s /vagrant/node_modules/webpack-dev-server/bin/webpack-dev-server.js /usr/local/bin/webpack-dev-server

Now everything seems to work fine!