我收到的输出:
npm WARN弃用了tough-cookie@2.2.2:ReDoS 漏洞 </跨度> 解析Set-Cookie https://nodesecurity.io/advisories/130npm WARN弃用minimatch@0.3.0:请更新为已安装的 /node_modules/karma/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v46-darwin-x64/fse.node通过 - 更新 - 二进制 </跨度> 重新安装或–build-from-source重新编译
看了这个,看起来bower有权限问题,并通过使用sudo单独运行bower安装解决:
sudo bower install --allow-root
但是,你不应该使用sudo和凉亭。如果你不得不通过使用sudo安装或通过sudo安装你的第一个包,那么〜/ .cache可能设置不正确。有关这方面的更多信息,请访问: http://www.competa.com/blog/2014/12/how-to-run-npm-without-sudo/
相反,您应该通过运行以下内容来纠正所有权:
sudo chown -R $user ~/.npm sudo chown -R $user ~/.config
要查找用户,只需在命令行上运行以下命令:
$ whoami
如果要打开更广泛的组,还可以向chown命令添加组。要找出您的用户所属的组,可以键入以下命令:
$ groups
要在用户只需将命令更改为以下内容的同时设置组,并将$ user和$ group替换为所需的用户和组:
sudo chown -R $user:$group ~/.npm sudo chown -R $user:$group ~/.config
如果您在npm安装期间运行bower安装时遇到类似以下问题之一的问题:
EACCES: permission denied, open '/some/directory' EACCES: permission denied, unlink '/some/directory'
您需要通过以下操作将对包含该文件的文件夹的权限更改为您的用户:
sudo chown -R USER /some/directory
只需更改存储文件的文件夹,而不是文件本身。当你跑步 npm install 在此之后,如果需要安装任何在使用当前用户而不使用时安装有问题的bower组件,它将起作用 sudo 。
npm install
sudo
谢谢, 埃蒙
的 问题 强> :您(用户)没有适当的目录权限集。
即时出路是使用sudo运行npm安装,但这可能会给您带来相同的错误或不正确的安装。
和更改目录所有权不是一个好的选择,一个临时补丁。我正在回答这个问题,因为我觉得我对这个问题有更优雅的解决方案/建议。我多次遇到同样的问题,即'npm install -g @ angular / cli'。
卸载软件包并执行以下命令(按提供的顺序)以进行全新安装。
的 解 强> / 的 建议 强> :更改npm的默认目录(来自官方 文档 )
在继续前进之前备份计算机。
(可选)如果您安装错误,请先将其卸载:
npm uninstall <package-name> # use sudo if you used it while installation npm cache verify # or, npm cache clean for npm version below 5.x.x
为全局安装创建一个目录:
的 mkdir ~/.npm-global 强>
mkdir ~/.npm-global
配置npm以使用新的目录路径:
的 npm config set prefix '~/.npm-global' 强>
npm config set prefix '~/.npm-global'
打开或创建一个 ~/.profile 要么 ~/.bash_profile 文件并添加此行:
~/.profile
~/.bash_profile
的 export PATH=~/.npm-global/bin:$PATH 强>
export PATH=~/.npm-global/bin:$PATH
返回命令行,更新系统变量,或重新启动终端:
的 source ~/.profile 强>
source ~/.profile
(可选)测试:在不使用sudo的情况下全局下载软件包。
的 npm install -g jshint 强>
npm install -g jshint