“无法读取依赖”与npm的错误

我想开始一个Node应用程序,并创build一个包含教程的package.json文件。 这是json文件:

{ "name": "Dashboard", "version": "0.0.0", "description": "Client-A Dashboard", "dependencies": { "socket.io": "latest", "express": "latest", "jade": "latest" }, "author": "tD" } 

在尝试运行之前,我validation了JSON文件,但在运行npm install命令时仍然收到错误消息:

 npm ERR! install Couldn't read dependencies npm ERR! Error: ENOENT, open 'C:\projects\Client-A\Live\package.json' npm ERR! If you need help, you may report this log at: npm ERR! <http://github.com/isaacs/npm/issues> npm ERR! or email it to: npm ERR! <npm-@googlegroups.com> npm ERR! System Windows_NT 6.1.7601 npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" npm ERR! cwd C:\projects\Client-A\Live\ npm ERR! node -v v0.8.22 npm ERR! npm -v 1.2.14 npm ERR! path C:\projects\Client-A\Live\package.json npm ERR! code ENOENT npm ERR! errno 34 npm ERR! npm ERR! Additional logging details can be found in: npm ERR! C:\projects\Client-A\Live\npm-debug.log npm ERR! not ok code 0 

这里是npm-degub.log文件

 0 info it worked if it ends with ok 1 verbose cli [ 'C:\\Program Files (x86)\\nodejs\\\\node.exe', 1 verbose cli 'C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'install' ] 2 info using npm@1.2.14 3 info using node@v0.8.22 4 verbose node symlink C:\Program Files (x86)\nodejs\\node.exe 5 verbose read json C:\projects\Client-A\Live\package.json 6 error install Couldn't read dependencies 7 error Error: ENOENT, open 'C:\projects\Client-A\Live\package.json' 8 error If you need help, you may report this log at: 8 error <http://github.com/isaacs/npm/issues> 8 error or email it to: 8 error <npm-@googlegroups.com> 9 error System Windows_NT 6.1.7601 10 error command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" 11 error cwd C:\projects\Client-A\Live\scoreboard 12 error node -v v0.8.22 13 error npm -v 1.2.14 14 error path C:\projects\Client-A\Live\package.json 15 error code ENOENT 16 error errno 34 17 verbose exit [ 34, true ] 

尝试添加这个:

"private": true,

它为我工作。

编辑 (人们问为什么):

官方文件声明如下:


如果你在package.json中设置了"private": true ,那么npm将拒绝发布它。 这是防止私人存储库意外发布的一种方法。 如果您希望确保给定的软件包只发布到特定的registry(例如,内部registry),则使用下面描述的publishConfig哈希来覆盖发布时的registryconfiguration参数。


你得到的错误信息可能与违反这个“规则”有关(我是)。

  • 您要么将未发布的软件包(如您自己的应用程序)标记为"private": false
  • 或者你忽略包括任何价值。

我有一个"Invalid Name"

我从"name": "Some Name",...切换到"name": "Some-Name",...

name需要是一个sluggystring。

最近,我开始得到一个错误:

 npm ERR! install Couldn't read dependencies npm ERR! Error: Invalid version: "1.0" 

所以,你可能需要用3个数字来指定你的包的version ,例如1.0.0 ,如果你得到类似的错误。

很简单,你只是不在正确的目录。

转到C:\Program Files\nodejs\node_modules\npm ,您应该能够正确运行此命令。

尝试更新npm,它适用于我

 [sudo] npm install -g npm 

我也得到了同样的例外,但它以前在另一台机器上运行良好。 无论如何上面的解决scheme没有为我工作。 我做了什么来解决它?

  1. 将依赖关系列表复制到剪贴板。
  2. input“npm init”来创build新的package.json
  3. 再次将依赖粘贴回package.json
  4. 再次运行“npm install”!

完成:)希望它有帮助。

对我来说,这是版本。 是的,你放在根的线,如:

 { "name": "your-project", "version": "0.1" ... } 

是的,npm不喜欢这样的版本,它喜欢“ 0.0.1 ”的东西。

不要问我为什么,我会告诉你这是完全愚蠢的(或者“如何轻松地放松时间”)

我的错误是我命名文件packages.json而不是package.json

我想通了,我没有在正确的文件夹。 我需要转到我刚刚克隆的文件夹,然后再运行此命令。

当我在packagae.json文件中的“名称”中有空格时,出现此错误。

“NPM项目”而不是“NPMProject”


不读取json的问题与文件的权限问题有关。

使用这个命令可以做到这一点:

 sudo chown -R $USER:$GROUP ~/.npm 

这看起来不像你的问题,但为了别人,对我来说,这是由package.json中的无效版本号(必须将2.4更改为2.4.0)引起的。

1)在某些情况下Nodejs安装在C:\ ProgramFiles中。 如果您没有pipe理员权限,请尝试安装在C:驱动器或其他目录中。

2)确保你没有安装公司的代理设置。 这有时会影响安装。

3)最后,确保你从这个目录运行npm命令:Path \ nodejs \ node_modules \ npm其中Path是你自己的目录。

我解决了这个问题,只是把我的项目从E:移到C :. 我认为这是因为nodejs和npm安装在我的C:这个项目是在我的E:

我克隆了一个git仓库到一个目录后,遇到了这个问题,重命名了目录,然后尝试运行npm install 。 我不确定这个问题是什么,但有些事情是拙劣的。 删除一切,重新克隆(这次用正确的目录名),然后运行npm install解决了我的问题。

validation用户帐户,您正在处理。 如果任何系统用户没有安装包的权限,npm特别显示此消息。

我正在关注一个文档,并认为这个错误意味着NPM中的依赖关系的一个问题。 然而在第三次看之后。 我意识到这是一个错字。 在教程要求我编辑的package.json中的第一个依赖关系之后,我没有添加逗号。