javascript-npm出现“无法读取依赖项”错误

我想启动一个Node应用程序,并使用教程创建了package.json文件。 这是json文件:

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

在尝试运行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-debug.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 ]
dvdmn asked 2020-01-24T00:28:32Z
17个解决方案
57 votes

我有name

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

猜猜name需要是一个松散的字符串。

Cody answered 2020-01-24T00:29:47Z
29 votes

尝试添加以下内容:

"private": false

它为我工作。

编辑(对于问为什么的人):

官方文档指出以下内容:


如果在package.json中设置"private": false,则npm将拒绝发布它。这是防止意外发布私有存储库的方法。 如果要确保仅将给定程序包发布到特定注册表(例如,内部注册表),请使用下面描述的publishConfig哈希值在发布时覆盖registry的配置参数。


您收到的错误消息可能与某种程度上违反了该“规则”有关(我以前是)。

  • 您正在将未发布的程序包(例如您自己的应用程序)标记为"private": false
  • 否则您就根本不考虑任何价值。
JorgeArtware answered 2020-01-24T00:29:18Z
26 votes

最近,我开始出现错误:

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

因此,您可能需要在包裹中指定version的3个数字,例如 如果您收到类似的错误,请使用1.0.0而不是1.0

Dmitriy answered 2020-01-24T00:30:11Z
13 votes

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

转到271603207270301717,您应该能够正确运行此命令。

Breno answered 2020-01-24T00:30:36Z
11 votes

尝试更新npm,对我有用

[sudo] npm install -g npm
user1524615 answered 2020-01-24T00:30:56Z
4 votes

我也遇到了同样的异常,但是以前在另一台机器上运行良好。 无论如何,上面的解决方案对我没有用。 我做了什么解决呢?

  1. 将依赖项列表复制到剪贴板。
  2. 输入“ npm init”以创建新的新package.json
  3. 再次将依赖项粘贴回package.json
  4. 再次运行“ npm install”!

完成:)希望对您有所帮助。

HADI answered 2020-01-24T00:31:37Z
2 votes

对我来说是版本。 是的,您放在根目录的那一行像:

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

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

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

Cyril N. answered 2020-01-24T00:32:06Z
2 votes

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

Martin Konecny answered 2020-01-24T00:32:26Z
1 votes

我发现我不在正确的文件夹中。 在运行此命令之前,我需要转到刚克隆的文件夹。

Micah Armantrout answered 2020-01-24T00:32:46Z
1 votes

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

“ NPM项目”而不是“ NPMProject”

Tisch answered 2020-01-24T00:33:11Z
0 votes

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

使用此命令将达到目的:

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

Kevin answered 2020-01-24T00:33:35Z
0 votes

这看起来不像您的问题,但是出于其他原因,对我来说,这是由于package.json中的版本号无效(必须将2.4更改为2.4.0)引起的。

Kevin answered 2020-01-24T00:33:55Z
0 votes

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

2)确保您没有安装在公司的代理设置之后。 有时这可能会影响安装。

3)最后,请确保您从以下目录运行npm命令:路径\ nodejs \ node_modules \ npm其中Path是您自己的目录。

user1324418 answered 2020-01-24T00:34:24Z
0 votes

我将项目从E:移到C:就解决了这个问题。 我认为是因为nodejs和npm安装在我的C:中发生的,而项目在我的E中:

Slaters answered 2020-01-24T00:34:44Z
0 votes

在将git仓库克隆到目录中,重命名该目录,然后尝试运行npm install后,我遇到了这个问题。 删除所有内容,重新克隆(这次使用正确的目录名称),然后运行npm install解决了我的问题。

im1dermike answered 2020-01-24T00:35:05Z
0 votes

验证用户帐户,您正在使用。 如果有任何系统用户没有安装软件包的权限,则npm特别也会显示此消息。

montie answered 2020-01-24T00:35:25Z
-2 votes

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

ScarofScion answered 2020-01-24T00:35:45Z
translate from https://stackoverflow.com:/questions/18401934/couldnt-read-dependencies-error-with-npm