Node.js无法在Windows上安装全局npm包(不是路径)

  发布于 2023-01-11 13:31

所以,我有一个奇怪的问题,我甚至不确定我能识别出来.我刚刚在Windows 7机器上安装了当前版本的Node.js(v.10.*).我试图在全局安装一些软件包(gulp和yoeman),但是在安装时遇到错误,在我的C:\ Users\Michael\AppData\Roaming \npm \node_modules目录中,许多软件包文件都丢失了.显然,当我尝试全局运行命令时,它会因为没有命令而失败.它从未被创造过.

其他一些全球安装的包工作正常(bower和grunt).

让事情变得非常棘手.当我将gulp安装到本地文件夹(没有-g)时,安装工作正常,我可以通过在命令之前添加整个路径来使用gulp.显然,我可以将该路径添加到我的系统属性中,因此该命令将是全局的,但这并不能解决我的问题.为什么在全局安装时安装会产生错误,而在本地安装时则不会?

当我在本地安装gulp时观察目录,我看到正在创建的文件.然后出现第一个错误,删除了许多文件.

我相信我的gulp安装日志的相关部分是:

6949 verbose lock lodash.noop@2.4.1 C:\Users\Michael\AppData\Roaming\npm-cache\7e62c2bb-lodash-noop-2-4-1.lock
6950 error Error: ENOENT, lstat 'C:\Users\Michael\AppData\Roaming\npm\node_modules\gulp\node_modules\vinyl-fs\node_modules\glob-stream\node_modules\glob2base\node_modules\lodash.findindex\node_modules\lodash.createcallback\node_modules\lodash._baseisequal\node_modules\lodash._releasearray\node_modules\lodash._arraypool'
6951 error If you need help, you may report this *entire* log,
6951 error including the npm and node versions, at:
6951 error     
6952 error System Windows_NT 6.1.7601
6953 error command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "gulp"
6954 error cwd c:\wamp\www\phoenix\animus\gulp
6955 error node -v v0.10.28
6956 error npm -v 1.4.9
6957 error path C:\Users\Michael\AppData\Roaming\npm\node_modules\gulp\node_modules\vinyl-fs\node_modules\glob-stream\node_modules\glob2base\node_modules\lodash.findindex\node_modules\lodash.createcallback\node_modules\lodash._baseisequal\node_modules\lodash._releasearray\node_modules\lodash._arraypool
6958 error fstream_path C:\Users\Michael\AppData\Roaming\npm\node_modules\gulp\node_modules\vinyl-fs\node_modules\glob-stream\node_modules\glob2base\node_modules\lodash.findindex\node_modules\lodash.createcallback\node_modules\lodash._baseisequal\node_modules\lodash._releasearray\node_modules\lodash._arraypool
6959 error fstream_unc_path \\?\C:\Users\Michael\AppData\Roaming\npm\node_modules\gulp\node_modules\vinyl-fs\node_modules\glob-stream\node_modules\glob2base\node_modules\lodash.findindex\node_modules\lodash.createcallback\node_modules\lodash._baseisequal\node_modules\lodash._releasearray\node_modules\lodash._arraypool
6960 error fstream_type Directory
6961 error fstream_class DirWriter
6962 error code ENOENT
6963 error errno 34
6964 error fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
6964 error fstream_stack Object.oncomplete (fs.js:107:15)
6965 verbose exit [ 34, true ]

我有日志文件,如果这将有所帮助.

谢谢.

1 个回答
  • Windows只能支持260个字符作为最大路径长度.我希望nodejs开发人员能够解决嵌套模块方法.要做一个解决方法,我只需将全局npm模块路径更改为c:从AppData获取一些字符,它就可以解决问题.我知道这个黑客只是为你提供了一些角色,但它对我有用.为此,

      在管理员模式下打开记事本.

      转到位置[nodejs安装目录] \node_modules \npm

      打开文件"npmrc"并更改prefix = c:\npm

      保存文件.

    2023-01-11 13:33 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有