`哟angular度`给出错误:npm ERR! 代码ENOENT npm ERR! errno 34(是的,我已经清理caching并设置.npmignore)

我试图在一个新的项目目录中运行yo angular ,但它给了我一路上的ENOENT错误。 是的,我已经看过这个类似的问题 ,但是它的解决scheme并不适合我。

我运行这些东西在空的新项目目录之前运行yo angular

 touch .npmignore npm cache clear npm cache clean 

但我仍然得到:

 npm ERR! Error: ENOENT, lstat '/home/ubuntu/app_c/node_modules/grunt/ internal-tasks/bump.js' npm ERR! If you need help, you may report this *entire* log, npm ERR! including the npm and node versions, at: npm ERR! <http://github.com/npm/npm/issues> npm ERR! System Linux 3.2.0-54-virtual npm ERR! command "/home/ubuntu/local/bin/node" "/home/ubuntu/local/bin/ npm" "install" npm ERR! cwd /home/ubuntu/app_c npm ERR! node -v v0.10.26 npm ERR! npm -v 1.4.3 npm ERR! path /home/ubuntu/app_c/node_modules/grunt/internal-tasks/bump. js npm ERR! fstream_path /home/ubuntu/app_c/node_modules/grunt/internal- tasks/bump.js npm ERR! fstream_type File npm ERR! fstream_class FileWriter npm ERR! code ENOENT npm ERR! errno 34 npm ERR! fstream_stack /home/ubuntu/local/lib/node_modules/npm/ node_modules/fstream/lib/writer.js:284:26 npm ERR! fstream_stack Object.oncomplete (fs.js:107:15) 

我该如何解决?


下面是所有命令的历史logging,按照时间顺序,我运行在一个全新的Ubuntu Server 12.04.3上,所以你可以看到到底是什么导致了这一点,以及我在哪里安装了各种软件包。

这个问题与一个npm github问题有关 。

编辑: npm update -g后面npm cache clear应该为大多数工作。 但是,首次在Mac OS上安装时,您可能需要在第一次安装usr/local/lib/node_modules导航到您的usr/local/lib/node_modules文件夹,并将读/写权限授予“Everyone”。 在发布这些权限之前,节点将无法全局安装其他工作stream程组件。 你不想sudo npm install命令,因为那样这些工具在事实之后不会有sudo的访问权限。 通过右键单击文件夹并转到“获取信息”,然后更改popup窗口底部的权限,可以更改读/写权限。

我在Windows 7机器上遇到了同样的问题。 以下是我解决的步骤:

  • 修复节点安装
  • 打开高架cli
  • 运行npm update -g
  • 运行npm cache clear
  • 运行npm install -g yo
  • 运行npm cache clear
  • 运行npm install -g generator-angular
  • 运行npm cache clear
  • 创build新的目录
  • 运行yo angular test
  • 运行npm cache clear
  • 运行grunt serve

我遇到了一些karma.conf.js的问题,其中path有一个\而不是/ for bower_components。 另外,我注意到可选的angular度模块注入我的app.js,尽pipe没有包括他们所有在我的哟从cli构build。 我已经在github上报告过这些问题。

npm ERR! 命令“/ home / ubuntu / local / bin / node”

你正在安装在用户目录? 我做了,也有ENOENT错误。

我不得不mkdir一些目录。 如果他们不在那里,请尝试在debug.log中创build一些目录,如lib / node_modules。

更新节点(和npm)到最新版本,这应该解决这个问题。

这些ENOENT (有时是EACCES )错误通常是由旧版本的npm引起的。 不幸的是,即使最新版本的node也不会分发当前版本的npm

安装node ,运行npm -v 。 如果您没有看到2.1.18或更高版本,请按照官方说明进行升级https://github.com/npm/npm/wiki/Troubleshooting#try-the-latest-stable-version-of-npm

在OSX上,快速升级的方法是sudo npm install -g npm@latest

在Windows上,按照wiki中的指南或阅读本答案如何在Windows上更新npm?

cmd.exe cd C:\Program Files (x86)\nodejs npm install npm@latest

我的问题是一个破碎的package.json 。 也许这会帮助别人。