我试图在Windows 8.1的Git Bash客户端中执行npm install
,但收到以下错误:
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: minimist@1.2.0 (node_modules/fsevents/node_modules/rc/node_modules/minimist):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, open '/home/vagrant/code/proadco.test/node_modules/fsevents/node_modules/rc/node_modules/minimist/package.json.737544774'
npm ERR! path ../@babel/parser/bin/babel-parser.js
npm ERR! code EPROTO
npm ERR! errno -71
npm ERR! syscall symlink
npm ERR! EPROTO: protocol error, symlink '../@babel/parser/bin/babel-parser.js' -> '/home/vagrant/code/mysite.test/node_modules/.bin/parser'
npm ERR! A complete log of this run can be found in:
npm ERR! /home/vagrant/.npm/_logs/2019-06-24T02_39_32_641Z-debug.log
运行npm install --no-bin-links
可以使其成功运行。但是我不完全了解此操作的后果。我相信这是在说:“不要创建符号链接。这只是一个hack,而不是解决问题的根源。但是我读到,Windows不支持符号链接,因此无法解决。
有人可以解释这里的后果吗?也许如何克服符号链接的根本问题?
答案 0 :(得分:6)
对我有用的是以 Administrator 和vagrant up
的身份启动Windows命令提示符。
问题是,作为主机的Windows需要管理员特权才能创建symlinks
。
要摆脱以前的不成功安装,我运行npm clean-install
npm run dev仍然会出现一些错误,但是ui:auth
可以工作。
答案 1 :(得分:1)
如果您希望npm停止为您创建符号链接,则可以通过
避免这种情况npm install --no-bin-links
有关npm文档https://docs.npmjs.com/cli/install.html
的更多信息注意:这可能会有一些未知的副作用,此方法有效 适用于我正在处理的应用程序,遇到此问题时 问题。副作用可能与symlink有关,即npm是 尝试创建,并在开发的后期阶段发现 符号链接不可用。