【问题标题】:sudo npm install gives me a access deniedsudo npm install 给我一个拒绝访问
【发布时间】:2018-05-07 16:51:42
【问题描述】:

我正在使用 ionic,我已经通过 git 从 machine1 获取我的项目到 machine2。

我的离子信息给了我这个:

[错误] ./node_modules/@ionic/app-scripts/package.json 错误 文件:FILE_NOT_FOUND

cli 包:(/usr/local/lib/node_modules)

@ionic/cli-utils  : 1.19.0
ionic (Ionic CLI) : 3.19.0

本地包:

@ionic/app-scripts : not installed
Ionic Framework    : ionic-angular 3.7.1

系统:

Node : v8.9.1
npm  : 5.5.1
OS   : macOS High Sierra

杂项:

backend : pro

当我运行sudo npm install 时,我得到以下信息:

npm WARN checkPermissions 缺少对 /Users/gerald/Documents/ionic/yesterdayweather/node_modules npm WARN checkPermissions 缺少对 /Users/gerald/Documents/ionic/yesterdayweather/node_modules/@ionic

然后

gyp 错误!配置错误gyp ERR!堆栈错误:EACCES:权限 拒绝,mkdir '/Users/gerald/Documents/ionic/yesterdayweather/node_modules/node-sass/build' 吉普错误!系统达尔文 17.2.0 gyp ERR!命令 “/usr/local/Cellar/node/8.9.1/bin/node” “/Users/gerald/Documents/ionic/yesterdayweather/node_modules/node-gyp/bin/nod e-gyp.js" "重建" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=""--libsass_library="gyp 错误! cwd /Users/gerald/Documents/ionic/yesterdayweather/node_modules/node-sass 吉普错误!节点 -v v8.9.1 gyp 错误!节点-gyp -v v3.6.2 gyp 错误!不好 构建失败,错误代码:1 npm ERR!代码 ELIFECYCLE npm 错误! errno 1 npm 错误! node-sass@4.5.3 安装后:node scripts/build.js npm 错误!退出状态 1

我已经尝试了以下解决方案 1 和 3。

基本上我认为我已经以 pkg 方式安装了节点,所以我将它删除并用 brew 安装它,所以实际上我不应该有这个问题。

但我还是尝试了选项 1,但它仍然不起作用。

有什么想法吗?

谢谢!

【问题讨论】:

  • 你为什么要运行 npm installsudo
  • 因为当我在没有 sudo 的情况下运行它时,我得到了某个地方:npm ERR!请尝试以 root/管理员身份再次运行此命令。

标签: node.js npm permissions ionic2


【解决方案1】:

看起来一个脚本正在尝试写入文件,npm 在以 root 身份运行时默认拒绝。您可以在命令后面加上--unsafe-perm 来禁用此保护。

您也不应该使用 sudo 运行 npm install,因为它不是必需的。 只有在使用-g 标志全局安装模块时,才应该使用 sudo。

2019 年编辑:不言而喻,禁用这样的安全防护可能非常危险,因为您正在给脚本一个免费通行证,让您可以随心所欲地做任何事情。最好不要同时使用 sudo 和 npm,即使在全局安装模块时也是如此。如果您在使用 npm 时遇到访问问题,请查看 using a version managerchanging npm's default directory

【讨论】:

  • 感谢您的帮助,但它不起作用,同样的错误
  • 天哪,花了一天时间解决这个问题,同时不断出现错误“EACCES:权限被拒绝,mkdir ...”并查看了许多stackoverflow帖子,这解决了它。
  • @SarahMGiles 很高兴知道有人发现我的回答很有用!
  • 这很有用。对于 sudo,我们需要它,因为有时可能会导致此错误:npm ERR! Please try running this command again as root/Administrator.
【解决方案2】:

您不应该使用sudo npm install。清理您的环境(在我的回答 here 中查看更多信息),然后运行 ​​npm install

【讨论】:

    猜你喜欢
    • 2019-11-15
    • 2013-09-15
    • 2013-12-14
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多