sudo npm install给我访问权限被拒绝

Kro*_*war 2 permissions node.js npm ionic2

我正在使用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
Run Code Online (Sandbox Code Playgroud)

本地套餐:

@ionic/app-scripts : not installed
Ionic Framework    : ionic-angular 3.7.1
Run Code Online (Sandbox Code Playgroud)

系统:

Node : v8.9.1
npm  : 5.5.1
OS   : macOS High Sierra
Run Code Online (Sandbox Code Playgroud)

其他:

backend : pro
Run Code Online (Sandbox Code Playgroud)

运行时,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 ERR!堆栈错误:EACCES:权限被拒绝,mkdir'/ Users / gerald / Documents / ionic / yesterdayweather / node_modules / node-sass / build'gyp错误!系统Darwin 17.2.0 Gyp错误!命令“ /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 /用户/杰拉德/文档/ ionic / yesterdayweather / node_modules / node-sass gyp错误!节点-v v8.9.1 gyp ERR!node-gyp -v v3.6.2 gyp错误!不稳定生成失败,错误代码:1 npm ERR!代码ELIFECYCLE npm ERR!errno 1 npm错误!node-sass@4.5.3安装后:node scripts/build.js npm错误!退出状态1

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

基本上,我认为我已经以pkg方式安装了节点,因此我将其删除并与brew一起安装,因此实际上我应该不会遇到此问题。

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

任何的想法 ?

谢谢 !

Sjo*_*Dal 13

看起来脚本正在尝试写入文件,默认情况下,npm以root身份运行时会拒绝文件。您可以--unsafe-perm在命令后面放置以禁用此防护措施。

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

2019编辑:毋庸置疑,禁用这样的安全卫士可能非常危险,因为您要给脚本免费通行证,以执行所需的任何操作。最好不要同时使用sudo和npm,即使在全局安装模块时也是如此。如果您遇到npm的访问问题,请考虑使用版本管理器更改npm的默认目录