我下载了AngularJS phonecat应用程序,并在全球范围内安装了bower,http-server,karma,protractor。但是,当我使用代码移动到目录并尝试  npm start' ,它运行  npm install'并显示以下错误:
angular-phonecat@0.0.0 prestart / Users / twer / angular-phonecat
npm install
npm WARN锁定错误:EACCES,打开 ' /Users/twer/.npm/_locks/bower-d21e2b2886728075.lock' npm WARN锁定 在错误(本机)npm WARN锁定 /Users/twer/.npm/_locks/bower-d21e2b2886728075.lock failed {[错误: EACCES,open' /Users/twer/.npm/_locks/bower-d21e2b2886728075.lock'] npm WARN锁定错误:-13,npm WARN锁定代码:' EACCES',npm WARN锁定路径: ' /Users/twer/.npm/_locks/bower-d21e2b2886728075.lock' } npm ERR! 达尔文13.4.0 npm ERR! argv" node" "在/ usr / local / bin中/ NPM" "安装" NPM 呃!节点v0.12.2 npm ERR! npm v2.7.4
npm ERR!尝试解锁 / Users / twer / angular-phonecat / node_modules / bower,还没有 锁定npm WARN锁定错误:EACCES,打开 ' /Users/twer/.npm/_locks/http-server-0dbc63e1ce281434.lock'警告 锁定错误(本机)npm WARN锁定 /Users/twer/.npm/_locks/http-server-0dbc63e1ce281434.lock failed { [错误:EACCES,打开 ' /Users/twer/.npm/_locks/http-server-0dbc63e1ce281434.lock'] npm WARN 锁定errno:-13,npm WARN锁定代码:' EACCES',npm WARN 锁定路径: ' /Users/twer/.npm/_locks/http-server-0dbc63e1ce281434.lock' } npm ERR! 达尔文13.4.0 npm ERR! argv" node" "在/ usr / local / bin中/ NPM" "安装" NPM 呃!节点v0.12.2 npm ERR! npm v2.7.4
npm ERR!尝试解锁 / Users / twer / angular-phonecat / node_modules / http-server,它没有 被锁定npm WARN锁定错误:EACCES,打开 ' /Users/twer/.npm/_locks/shelljs-e4f96e79494ea210.lock'警告 锁定错误(本机)npm WARN锁定 /Users/twer/.npm/_locks/shelljs-e4f96e79494ea210.lock failed {[错误: EACCES,open' /Users/twer/.npm/_locks/shelljs-e4f96e79494ea210.lock'] npm WARN锁定错误:-13,npm WARN锁定代码:' EACCES',npm WARN锁定路径: ' /Users/twer/.npm/_locks/shelljs-e4f96e79494ea210.lock' } npm ERR! 达尔文13.4.0 npm ERR! argv" node" "在/ usr / local / bin中/ NPM" "安装" NPM 呃!节点v0.12.2 npm ERR! npm v2.7.4
npm ERR!尝试解锁 / Users / twer / angular-phonecat / node_modules / shelljs,还没有 锁定npm WARN锁定错误:EACCES,打开 ' /Users/twer/.npm/_locks/karma-e8390a258c010e78.lock' npm WARN锁定 在错误(本机)npm WARN锁定 /Users/twer/.npm/_locks/karma-e8390a258c010e78.lock failed {[错误: EACCES,open' /Users/twer/.npm/_locks/karma-e8390a258c010e78.lock'] npm WARN锁定错误:-13,npm WARN锁定代码:' EACCES',npm WARN锁定路径: ' /Users/twer/.npm/_locks/karma-e8390a258c010e78.lock' } npm ERR! 达尔文13.4.0 npm ERR! argv" node" "在/ usr / local / bin中/ NPM" "安装" NPM 呃!节点v0.12.2 npm ERR! npm v2.7.4
npm ERR!尝试解锁 / Users / twer / angular-phonecat / node_modules / karma,还没有 锁定npm WARN锁定错误:EACCES,打开 ' /Users/twer/.npm/_locks/protractor-a03b9e77140a9911.lock'警告 锁定错误(本机)npm WARN锁定 /Users/twer/.npm/_locks/protractor-a03b9e77140a9911.lock failed { [错误:EACCES,打开 ' /Users/twer/.npm/_locks/protractor-a03b9e77140a9911.lock'] npm WARN 锁定errno:-13,npm WARN锁定代码:' EACCES',npm WARN 锁定路径: ' /Users/twer/.npm/_locks/protractor-a03b9e77140a9911.lock' } npm ERR! 达尔文13.4.0 npm ERR! argv" node" "在/ usr / local / bin中/ NPM" "安装" NPM 呃!节点v0.12.2 npm ERR! npm v2.7.4
npm ERR!尝试解锁 / Users / twer / angular-phonecat / node_modules / protractor,它没有 被锁定npm WARN锁定错误:EACCES,打开 ' /Users/twer/.npm/_locks/karma-chrome-launcher-4c47483197e76b06.lock' npm WARN锁定错误(本机)npm WARN锁定 /Users/twer/.npm/_locks/karma-chrome-launcher-4c47483197e76b06.lock 失败{[错误:EACCES,打开 ' /Users/twer/.npm/_locks/karma-chrome-launcher-4c47483197e76b06.lock'] npm WARN锁定错误:-13,npm WARN锁定代码:' EACCES',npm WARN锁定路径: ' /Users/twer/.npm/_locks/karma-chrome-launcher-4c47483197e76b06.lock' } npm ERR!达尔文13.4.0 npm ERR! argv" node" "在/ usr / local / bin中/ NPM" "安装"错误的ERR!节点v0.12.2 npm ERR! npm v2.7.4
npm ERR!尝试解锁 / Users / twer / angular-phonecat / node_modules / karma-chrome-launcher,which 没有被锁定npm WARN锁定错误:EACCES,打开 ' /Users/twer/.npm/_locks/karma-jasmine-435fcdaa8b86b427.lock'警告 锁定错误(本机)npm WARN锁定 /Users/twer/.npm/_locks/karma-jasmine-435fcdaa8b86b427.lock failed { [错误:EACCES,打开 ' /Users/twer/.npm/_locks/karma-jasmine-435fcdaa8b86b427.lock'] npm WARN锁定错误:-13,npm WARN锁定代码:' EACCES',npm WARN 锁定路径: ' /Users/twer/.npm/_locks/karma-jasmine-435fcdaa8b86b427.lock' } npm 呃!达尔文13.4.0 npm ERR! argv" node" "在/ usr / local / bin中/ NPM" "安装" 错误的ERR!节点v0.12.2 npm ERR! npm v2.7.4
npm ERR!尝试解锁 / Users / twer / angular-phonecat / node_modules / karma-jasmine,没有&t 被锁定npm WARN锁定错误:EACCES,打开 ' /Users/twer/.npm/_locks/tmp-44bc7858c2a6d09a.lock' npm WARN锁定
在错误(本机)npm WARN锁定 /Users/twer/.npm/_locks/tmp-44bc7858c2a6d09a.lock failed {[错误: EACCES,open' /Users/twer/.npm/_locks/tmp-44bc7858c2a6d09a.lock'] npm WARN锁定错误:-13,npm WARN锁定代码:' EACCES',npm WARN 锁定路径:' /Users/twer/.npm/_locks/tmp-44bc7858c2a6d09a.lock' } 错误的ERR!达尔文13.4.0 npm ERR! argv" node" "在/ usr / local / bin中/ NPM" "安装"错误的ERR!节点v0.12.2 npm ERR! npm v2.7.4npm ERR!尝试解锁 / Users / twer / angular-phonecat / node_modules / tmp,还没有 锁定
npm ERR!达尔文13.4.0 npm ERR! argv" node" "在/ usr / local / bin中/ NPM" "开始"错误的ERR!节点v0.12.2 npm ERR! npm v2.7.4 npm ERR!码 ELIFECYCLE npm ERR! angular-phonecat@0.0.0 prestart:
npm install
npm 呃!退出状态1 npm ERR!错误的ERR!失败了 angular-phonecat@0.0.0预启动脚本' npm install'。错误的ERR!这是 最有可能是angular-phonecat包的问题,npm ERR!不 与npm本身。错误的ERR!告诉作者你的失败了 系统:npm ERR! npm install npm ERR!您可以通过以下方式获取信息: 错误的ERR! npm owner ls angular-phonecat npm ERR!有可能 上面的额外日志输出。npm ERR!请在任何支持请求中包含以下文件: 错误的ERR! /Users/twer/angular-phonecat/npm-debug.log
我该如何解决?提前谢谢。
答案 0 :(得分:7)
这些错误意味着由于权限错误,npm
无法访问目录/Users/twer
及其子目录。
您希望使用自己的用户权限运行npm
,因此请使用
chown -R $USER <directory>
chown -R `whoami` <directory>
或
<directory>
- 两个命令都是相同的,其中/Users/twer
是:
/usr/local
)用于本地安装; npm
或者sudo
尝试使用的顶级目录,您在错误消息中看到,您可能需要在命令前添加{{{ 1}}在这种情况下。这里的选项-R
用于递归,因为它还为所有子目录设置了正确的所有权,这正是您想要的。
您希望避免与npm
一起运行sudo
,recommended by the npm
creator Isaac Schlueter:
我强烈建议您不要使用sudo进行包管理!包可以运行任意脚本,这使得包管理器命令与链锯发型一样安全。当然,它很快,肯定会切断任何障碍,但你可能真的希望这个障碍留在那里。