【问题标题】:Unable to install Gauge with npm无法使用 npm 安装 Gauge
【发布时间】:2019-08-26 03:28:49
【问题描述】:

我已按照说明逐字从“https://gauge.org/getting-started-guide/quick-install/”安装仪表,但无法安装。

我从一个全新的 GCP Debian 实例开始。安装 NodeJS PPM 并按照说明进行操作后,“gauge”正在 /usr/lib/node_modules/@getgauge/cli/bin 下安装一个空白文件。我收到以下文件权限错误。这都是以 root 身份运行的。

root@instance-1:~# npm -v
6.9.0
root@instance-1:~# node -v
v10.16.3
root@instance-1:~# npm install -g npm@latest
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
/usr/bin/npx -> /usr/lib/node_modules/npm/bin/npx-cli.js
+ npm@6.11.2
added 19 packages from 13 contributors, removed 15 packages and updated 53 packages in 6.895s
root@instance-1:~# npm install -g @getgauge/cli
/usr/bin/gauge -> /usr/lib/node_modules/@getgauge/cli/bin/gauge

> @getgauge/cli@1.0.5 install /usr/lib/node_modules/@getgauge/cli
> node ./src/index.js

Fetching download url for Gauge version 1.0.5
Downloading https://github.com/getgauge/gauge/releases/download/v1.0.5/gauge-1.0.5-linux.x86_64.zip to ./bin
{ [Error: EACCES: permission denied, open 'bin/gauge'] errno: -13, code: 'EACCES', syscall: 'open', path: 'bin/gauge' }
+ @getgauge/cli@1.0.5
added 83 packages from 76 contributors in 6.48s

版本信息

root@gauge:~/gaugetest$ npm -v
6.11.2
root@gauge:~/gaugetest$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.9 (stretch)
Release:        9.9
Codename:       stretch

有什么想法吗?

【问题讨论】:

  • 尝试运行npm installsudo?你试过吗?
  • 正如我在帖子中所说,一切都以“root”身份运行。但我最初将所有内容都运行为“sudo”并得到了相同的结果。

标签: getgauge


【解决方案1】:

npm 在以root权限调用时将uid更改为用户帐户或用户配置指定的uid,默认为nobody。设置 unsafe-perm 标志以使用 root 权限运行脚本。 在您的情况下,您可以尝试npm run @getgauge/cli --uynsafe-perm

【讨论】: