我不是100%确定,但我相信我从windows安装程序在家用和办公电脑上安装了node v5.

在我的家用电脑上,全局安装发生在%APPDATA%下:

(dev) go|c:\srv> which lessc
c:\users\bjorn\appdata\roaming\npm\lessc
c:\users\bjorn\appdata\roaming\npm\lessc.cmd

在我的office PC上,它们位于程序文件下:

(dev) go|w:\srv> which lessc
c:\program files\nodejs\lessc
c:\program files\nodejs\lessc.cmd

我需要向PyCharm的文件观察者提供这些全局工具的完整路径,因为我共享的项目文件,所以在用户文件夹下没有全局资源是有意义的.

为什么全局安装最终会出现在不同的文件夹中,我如何才能将它们强制安装到所有团队成员共用的位置?

推荐答案

根据:https://docs.npmjs.com/files/folders

  • 本地安装(默认):将内容放入/当前包根目录的 node _模块.
  • 全局安装(使用-g):将内容放入/usr/local或安装了 node 的任何位置.
  • 如果需要,可以在本地安装.
  • 如果要在命令行上运行,请全局安装它->;如果两个都需要,那么在两个地方都安装,或者使用npm链接.

前缀配置

前缀配置默认为 node 的安装位置.在…上

这些文档可能有点过时,但它们解释了为什么全局安装最终会出现在不同的目录中:

(dev) go|c:\srv> npm config ls -l | grep prefix
; prefix = "C:\\Program Files\\nodejs" (overridden)
prefix = "C:\\Users\\bjorn\\AppData\\Roaming\\npm"

根据其他答案,似乎覆盖现在是Windows上的默认位置,并且我可能在实现此覆盖之前安装了office版本.

This also suggests a solution for getting all team members to have globals stored in the same absolute path relative to their PC, i.e. (run as Administrator):
(Run this in cmd, not in PowerShell!)

mkdir %PROGRAMDATA%\npm
setx PATH "%PROGRAMDATA%\npm;%PATH%" /M
npm config set prefix %PROGRAMDATA%\npm

打开一个新的命令.exe窗口并重新安装所有全局软件包.

解释(行号):

  1. 在一个合理的位置创建一个文件夹来存放全局文件(微软正在
  2. 目录需要在路径上,所以使用setx .. /M设置
  3. 告诉npm使用这个新路径.(注意:文件夹在中的%PATH%中不可见.)

Node.js相关问答推荐

Jest由于UUID而无法解析测试,即使在Jest中启用ESModule支持后也是如此

如何在MEVN堆栈中结合创建和更新表单流程?

Node.js中Redis的并发问题

为什么我收到此错误:MissingSchemaError:架构尚未为模型&业务&注册

一个函数中的两个依赖的NodeJS数据库操作.如果第二个失败了怎么办?

Node-Red Tasmota 错误:连接 ECONNREFUSED 192.168.77.21:1883

密码加密的最佳实践是什么?

Pug - 包括带有include关键字的c代码

aws cdk 2.0 init 应用程序无法构建更漂亮的问题,这来自 jest-snapshot

等到文件上传完成的有效方法(mongoose )

yarn.lock 和 npm 的 package-lock 有什么区别?

bash:npm:找不到命令?

构建 vue cli 后如何运行生产站点

无法获取 CSS 文件

如何在 MongoDB 中查询引用的对象?

如何从 Node.js 中的 URL 获取

安装Node.js 安装n 安装Node.js?

使用 Node.js 我得到错误:EISDIR,读取

node.js 在控制台上显示未定义

Mongoose - 验证邮箱语法