gpt4 book ai didi

windows - 在 Windows 上的 Vagrant 上安装 Bower 需要什么权限?

转载 作者:IT老高 更新时间:2023-10-28 23:10:08 26 4
gpt4 key购买 nike

我在通过 NPM 在 Vagrant 上运行精确 32 Ubuntu Box 的 Windows 7 机器上安装 Bower 时一直遇到此错误。我尝试了每种命令组合,但总是遇到相同或非常相似的错误

本地安装、全局安装、使用 sudo、不使用 sudo 等

...
npm ERR! Error: EPERM, open '/home/vagrant/tmp/npm-1214-AHbOCwuM/1391873680685-0.36021817452274263/package/build/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/test/simple/test-stream2-readable-empty-buffer-no-eof.js'
npm ERR! { [Error: EPERM, open '/home/vagrant/tmp/npm-1214-AHbOCwuM/1391873680685-0.36021817452274263/package/build/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/test/simple/test-stream2-readable-empty-buffer-no-eof.js']
npm ERR! errno: 50,
npm ERR! code: 'EPERM',
npm ERR! path: '/home/vagrant/tmp/npm-1214-AHbOCwuM/1391873680685-0.36021817452274263/package/build/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/test/simple/test-stream2-readable-empty-buffer-no-eof.js' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Linux 3.2.0-23-generic-pae
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "bower" "--no-bin-links"
npm ERR! cwd /home/vagrant
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! path /home/vagrant/tmp/npm-1214-AHbOCwuM/1391873680685-0.36021817452274263/package/build/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/test/simple/test-stream2-readable-empty-buffer-no-eof.js
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, open '/home/vagrant/tmp/npm-1214-AHbOCwuM/1391873680685-0.36021817452274263/package/build/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/test/simple/test-stream2-readable-empty-buffer-no-eof.js'
...

编辑:除了我下面的回答,请注意使用 Windows 时的文件目录 + 文件大小限制(我相信 260 个字符)

我不得不直接在我的 c:/驱动器上的一个文件夹中安装 vagrant 来克服这个限制,因为一些包最终具有嵌套的依赖关系,导致超出了这个限制。我的问题是 grunt-contrib-less

最佳答案

self 回答,因为我在 StackOverflow 上的其他任何地方都找不到解决方案

我最终通过 su root 更改为 root 用户并尝试再次全局安装来使其工作。显然仅仅使用 sudo 是不够的。

原来如此

root@precise32: npm install -g bower --no-bin-links

编辑:除此解决方案外,请注意使用 Windows 时的文件目录 + 文件大小限制(我相信 260 个字符)

我不得不直接在我的 c:/驱动器上的文件夹中初始化一个 vagrant 实例来克服这个限制,因为一些包最终具有嵌套的依赖项,导致超出了这个限制。我的问题是 grunt-contrib-less

编辑 2:在一次又一次地遇到这个问题后,我将在这里为人们添加更多关于 Windows 下的 Node 模块和 vagrant 的信息。

我现在通过放置由于路径长度(通常是 EPERM)而失败的任何长依赖链来克服文件路径限制,我将链中的一个包添加到我自己的 package.json 中。这意味着长需求链被拆分,因为如果 npm 已经安装了包,它不会在树的更深处重新安装它。

只需确保您需要一个对模块的版本字符串有效的版本。

package.json 中依赖的顺序无关紧要,依赖在安装之前解决

关于windows - 在 Windows 上的 Vagrant 上安装 Bower 需要什么权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21648068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com