使 Global NPM 包可供 Windows 2012 服务器上的所有用户使用

问题描述 投票:0回答:4

我正在尝试安装持续集成服务器。该服务器将从 GIT 中提取数据,并尝试构建应用程序。由于我使用的是 Windows 2012 服务器,因此多个用户可以触发构建。为此,我想确保我以管理员身份安装的所有节点包可供所有用户使用。

我该怎么办:

  1. 全局安装可供所有用户使用的节点包。
  2. 我想使用本地托管的节点注册表。我不想使用节点注册表。
  3. 安装软件包后,如何验证所有用户是否可以访问这些软件包?
node.js npm npm-install
4个回答
64
投票

有同样的问题。需要 CI 构建代理在 CLI 上运行全局包。在针对 Windows 系统范围 npm -g 的新功能请求中看到了

这篇文章

简而言之:

  1. 打开管理员级别命令提示符
  2. 注意当前的全局前缀:
    npm prefix -g
  3. 为 CI 用户设置全局前缀:
    npm config set prefix <C:\Users\CI_USER\AppData\Roaming\npm>
  4. 安装所需的软件包:
    npm i -g PKG
  5. 将前缀恢复为之前的值。

25
投票

对于“网络服务”帐户,请使用文件夹:

C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\npm

1
投票

您可以添加全局环境变量

NODE_PATH
来设置包所需的搜索路径。您可以在这里查看更多信息。 https://gist.github.com/branneman/8048520#4-the-environment


0
投票

我遇到了同样的问题,我需要 gulp 对所有用户以及在本地系统下运行的 teamcity 都是全局的。

这是我的解决方案:(从全新的设置,安装节点后立即) 在“管理员”命令提示符下

  1. npm install --global gulp-cli
  2. 其中 gulp (响应为:C:\Users\MYUSER\AppData\Roaming 下午\咕噜)
  3. 打开 exlorer,进入该文件夹,然后将所有内容(gulp、gulp.cmd、包含 gulp-cli 的 node_modules)移动到“C:\Program Files 奥杰斯”

现在,gulp 对所有用户来说都是全局的,就像 npm 一样。

© www.soinside.com 2019 - 2024. All rights reserved.