“无法读取依赖”与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
哈希来覆盖发布时的registry
configuration参数。
你得到的错误信息可能与违反这个“规则”有关(我是)。
- 您要么将未发布的软件包(如您自己的应用程序)标记为
"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没有为我工作。 我做了什么来解决它?
- 将依赖关系列表复制到剪贴板。
- input“npm init”来创build新的package.json
- 再次将依赖粘贴回package.json
- 再次运行“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中的第一个依赖关系之后,我没有添加逗号。