`Yo angular`给出错误:NPM错误!代码环境NPM错误!Errno 34(是的,我已清除缓存并设置了.npmIgnore)

qmb5sa22  于 2022-10-04  发布在  Angular
关注(0)|答案(6)|浏览(146)

我试图在新的项目目录中运行yo angular,但在此过程中出现了ENOENT错误。是的,我看过this similar question,但它的解决方案对我不起作用。

在运行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)

我怎么才能修好它?

这里是一个全新的Ubuntu服务器12.04.3上的history of ALL the commands, in chronological order, that I ran,所以你可以确切地看到是什么导致了这一点,以及我安装了各种包的地方。

此问题链接到NPM github issue

iezvtpos

iezvtpos1#

编辑:npm update -g后跟npm cache clear应该适用于大多数人。然而,在Mac OS上首次安装时,您可能需要在首次安装NodeJS后导航到usr/local/lib/node_modules文件夹,并授予“Everyone”读/写权限。在释放这些权限之前,节点将无法全局安装其他工作流组件。您不希望sudo NPM安装命令,因为这样做之后,这些工具将没有sudo访问权限来运行。通过右击文件夹并进入“获取信息”,然后在弹出窗口底部更改权限,即可更改读/写权限。

我在Windows7上也遇到了同样的问题。以下是我为解决问题而采取的步骤:

  • 修复节点安装
  • 打开提升的CLI
  • 运行npm update -g
  • 运行npm cache clear
  • 运行npm install -g yo
  • 运行npm cache clear
  • 运行npm install -g generator-angular
  • 运行npm cache clear
  • 已创建新目录
  • 运行yo angular test
  • 运行npm cache clear
  • 运行grunt serve

我确实遇到了Karma.conf.js的其他一些问题,其中路径具有\而不是用于Bower_Components的/。此外,我注意到可选的Angular 模块被注入到我的app.js中,尽管它们没有全部包含在来自cli的yo构建中。我已经在GitHub上报告了这些问题。

mf98qq94

mf98qq942#

NPM错误!命令“/home/ubuntu/local/bin/node”

您是否在用户目录中进行安装?我做了,也犯了环境错误。

我不得不创建了一些目录。如果它们不在那里,请尝试在调试.log中创建一些目录,如lib/node_模块。

gg58donl

gg58donl3#

将节点(和NPM)更新到最新版本,这应该可以解决问题。

vojdkbi0

vojdkbi04#

这些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中的指南或阅读此答案How do I update npm on Windows?

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

yqhsw0fo

yqhsw0fo5#

我的问题是一个坏了的Package.json。也许这会对某个人有帮助。

dwthyt8l

dwthyt8l6#

这个问题确实可以由几个因素引起,奇怪的是,NPM无法给出问题的确切原因。

在我的例子中,这个问题是由导入SCSS文件引起的。指定的路径不正确。

相关问题