AngularJS phonecat 应用程序中的 Npm 启动问题

Posted

技术标签:

【中文标题】AngularJS phonecat 应用程序中的 Npm 启动问题【英文标题】:Npm start issues in AngularJS phonecat application 【发布时间】:2015-06-17 15:06:55 【问题描述】:

我下载了 AngularJS phonecat 应用程序,并在全球范围内安装了 bower、http-server、karma、protractor。但是当我使用代码移动到目录并尝试“npm start”时,它会运行“npm install”并显示以下错误:

angular-phonecat@0.0.0 prestart /Users/twer/angular-phonecat

npm 安装

npm WARN 锁定错误:EACCES,打开 '/Users/twer/.npm/_locks/bower-d21e2b2886728075.lock' npm WARN 锁定 在错误(本机)npm WARN 锁定 /Users/twer/.npm/_locks/bower-d21e2b2886728075.lock 失败 [错误: EACCES,打开'/Users/twer/.npm/_locks/bower-d21e2b2886728075.lock'] npm WARN 锁定错误:-13,npm WARN 锁定代码:'EACCES',npm WARN 锁定路径: '/Users/twer/.npm/_locks/bower-d21e2b2886728075.lock' npm 错误! 达尔文 13.4.0 npm 错误! argv “节点” “/usr/local/bin/npm” “安装” npm 呃!节点 v0.12.2 npm 错误! npm v2.7.4

npm 错误!尝试解锁 /Users/twer/angular-phonecat/node_modules/bower,还没有 锁定 npm WARN 锁定错误:EACCES,打开 '/Users/twer/.npm/_locks/http-server-0dbc63e1ce281434.lock' npm WARN 锁定错误(本机) npm WARN 锁定 /Users/twer/.npm/_locks/http-server-0dbc63e1ce281434.lock 失败 [错误:EACCES,打开 '/Users/twer/.npm/_locks/http-server-0dbc63e1ce281434.lock'] npm WARN 锁定错误:-13,npm WARN 锁定代码:'EACCES',npm WARN 锁定路径: '/Users/twer/.npm/_locks/http-server-0dbc63e1ce281434.lock' npm 错误! 达尔文 13.4.0 npm 错误! argv “节点” “/usr/local/bin/npm” “安装” npm 呃!节点 v0.12.2 npm 错误! npm v2.7.4

npm 错误!尝试解锁 /Users/twer/angular-phonecat/node_modules/http-server,没有 已锁定 npm WARN 锁定错误:EACCES,打开 '/Users/twer/.npm/_locks/shelljs-e4f96e79494ea210.lock' npm WARN 锁定错误(本机) npm WARN 锁定 /Users/twer/.npm/_locks/shelljs-e4f96e79494ea210.lock 失败 [错误: EACCES,打开'/Users/twer/.npm/_locks/shelljs-e4f96e79494ea210.lock'] npm WARN 锁定错误:-13,npm WARN 锁定代码:'EACCES',npm WARN 锁定路径: '/Users/twer/.npm/_locks/shelljs-e4f96e79494ea210.lock' npm 错误! 达尔文 13.4.0 npm 错误! argv “节点” “/usr/local/bin/npm” “安装” npm 呃!节点 v0.12.2 npm 错误! npm v2.7.4

npm 错误!尝试解锁 /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 失败 [错误: EACCES,打开'/Users/twer/.npm/_locks/karma-e8390a258c010e78.lock'] npm WARN 锁定错误:-13,npm WARN 锁定代码:'EACCES',npm WARN 锁定路径: '/Users/twer/.npm/_locks/karma-e8390a258c010e78.lock' npm 错误! 达尔文 13.4.0 npm 错误! argv “节点” “/usr/local/bin/npm” “安装” npm 呃!节点 v0.12.2 npm 错误! npm v2.7.4

npm 错误!尝试解锁 /Users/twer/angular-phonecat/node_modules/karma,还没有 锁定 npm WARN 锁定错误:EACCES,打开 '/Users/twer/.npm/_locks/protractor-a03b9e77140a9911.lock' npm WARN 锁定错误(本机) npm WARN 锁定 /Users/twer/.npm/_locks/protractor-a03b9e77140a9911.lock 失败 [错误:EACCES,打开 '/Users/twer/.npm/_locks/protractor-a03b9e77140a9911.lock'] npm WARN 锁定错误:-13,npm WARN 锁定代码:'EACCES',npm WARN 锁定路径: '/Users/twer/.npm/_locks/protractor-a03b9e77140a9911.lock' npm 错误! 达尔文 13.4.0 npm 错误! argv “节点” “/usr/local/bin/npm” “安装” npm 呃!节点 v0.12.2 npm 错误! npm v2.7.4

npm 错误!尝试解锁 /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 错误!达尔文 13.4.0 npm 错误! argv "节点" "/usr/local/bin/npm" “安装” npm 错误!节点 v0.12.2 npm 错误! npm v2.7.4

npm 错误!尝试解锁 /Users/twer/angular-phonecat/node_modules/karma-chrome-launcher,其中 尚未锁定 npm WARN 锁定错误:EACCES,打开 '/Users/twer/.npm/_locks/karma-jasmine-435fcdaa8b86b427.lock' npm WARN 锁定错误(本机) npm WARN 锁定 /Users/twer/.npm/_locks/karma-jasmine-435fcdaa8b86b427.lock 失败 [错误:EACCES,打开 '/Users/twer/.npm/_locks/karma-jasmine-435fcdaa8b86b427.lock'] npm WARN 锁定 errno:-13,npm WARN 锁定代码:'EACCES',npm WARN 锁定路径: '/Users/twer/.npm/_locks/karma-jasmine-435fcdaa8b86b427.lock' npm 呃!达尔文 13.4.0 npm 错误! argv "节点" "/usr/local/bin/npm" "安装" npm 错误!节点 v0.12.2 npm 错误! npm v2.7.4

npm 错误!尝试解锁 /Users/twer/angular-phonecat/node_modules/karma-jasmine,没有 已锁定 npm WARN 锁定错误:EACCES,打开 '/Users/twer/.npm/_locks/tmp-44bc7858c2a6d09a.lock' npm WARN 锁定 在错误(本机)npm WARN 锁定 /Users/twer/.npm/_locks/tmp-44bc7858c2a6d09a.lock 失败 [错误: EACCES,打开'/Users/twer/.npm/_locks/tmp-44bc7858c2a6d09a.lock'] npm WARN 锁定 errno:-13,npm WARN 锁定代码:'EACCES',npm WARN 锁定路径:'/Users/twer/.npm/_locks/tmp-44bc7858c2a6d09a.lock' npm 错误!达尔文 13.4.0 npm 错误! argv "节点" "/usr/local/bin/npm" “安装” npm 错误!节点 v0.12.2 npm 错误! npm v2.7.4

npm 错误!尝试解锁 /Users/twer/angular-phonecat/node_modules/tmp,还没有 锁定

npm 错误!达尔文 13.4.0 npm 错误! argv "节点" "/usr/local/bin/npm" “开始” n​​pm 错误!节点 v0.12.2 npm 错误! npm v2.7.4 npm 错误!代码 生命周期 npm 错误! angular-phonecat@0.0.0 预启动:npm install npm 呃!退出状态 1 npm ERR! npm 错误!失败了 angular-phonecat@0.0.0 预启动脚本“npm install”。 npm 错误!这是 很可能是 angular-phonecat 包的问题,​​npm ERR!不是 与 npm 本身。 npm 错误!告诉作者这在你的失败 系统:npm 错误! npm 安装 npm 错误!您可以通过以下方式获取他们的信息: npm 错误! npm 所有者 ls angular-phonecat npm ERR!有可能 上面的附加日志输出。

npm 错误!请在任何支持请求中包含以下文件: npm 错误! /Users/twer/angular-phonecat/npm-debug.log

我该如何解决?提前致谢。

【问题讨论】:

看起来您之前可能已经使用sudo 安装了代码,创建了根拥有的文件。试试这个:sudo chown -R $USER /Users/twer/.npm/ 我尝试了您的建议,但仍有一些问题。但是当我尝试“sudo npm start”时,它可以工作。谢谢你提醒我。 【参考方案1】:

这些错误意味着npm 由于权限错误,无法访问目录/Users/twer 及其子目录。

您想以自己的用户权限运行npm,因此通过更改所有权来设置它们

chown -R $USER <directory>

chown -R `whoami` <directory>

-- 两个命令的作用相同,其中&lt;directory&gt; 是:

用于本地安装的主目录 (/Users/twer); 您在错误消息中看到的非系统软件包的机器目录,/usr/local 或尝试使用的任何***目录 npm,在这种情况下,您可能需要在命令前加上 sudo .

此处的选项-R 用于递归,因为它还为所有子目录设置了正确的所有权,这正是您想要的。

您希望避免npmsudo 一起运行,如recommended by the npm creator Isaac Schlueter:

我强烈建议您不要使用 sudo 进行包管理! 包可以运行任意脚本,这使得 sudo 包管理器命令就像电锯理发一样安全。当然,它的速度很快,而且肯定会克服任何障碍,但你可能真的希望那个障碍留在那里。

【讨论】:

如果它可以帮助其他人 - 在我的 Mac OS 上,只有 $HOME/_locks 目录由 root 拥有。一定用过 sudo.. 改变了所有权和中提琴!

以上是关于AngularJS phonecat 应用程序中的 Npm 启动问题的主要内容,如果未能解决你的问题,请参考以下文章

lighttpd和AngularJS-PhoneCat

angularjs路由单元测试

从 AngularJS url 中删除片段标识符(# 符号)

Angular JS 和 node.js

Windows下的Web服务器

ui-router中使用ocLazyLoad和resolve