npm安装未创建node_modules文件夹

9

我只是尝试在本地目录中运行npm install .,但一直出现这些错误:

npm ERR! install Couldn't read dependencies
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "."
npm ERR! node v4.4.6
npm ERR! npm  v2.15.5
npm ERR! code EISDIR
npm ERR! errno -21
npm ERR! syscall read

npm ERR! eisdir EISDIR: illegal operation on a directory, read
npm ERR! eisdir This is most likely not a problem with npm itself
npm ERR! eisdir and is related to npm not being able to find a     package.json in
npm ERR! eisdir a package you are trying to install.

我所做的就是进入我的目录,然后运行npm install . 我的目录里有一个packages.json文件。不知道为什么会出现这样的问题??? 编辑:packages.json文件内容如下:
{
  "name": "speech-recognition",
 "version": "1.0.0",
 "description": "speech recognition app",
 "main": "application.js",
 "scripts": {
   "test": "echo \"Error: no test specified\" && exit 1",
   "start": "node server.js"
 },
 "author": "Lisa Buch",
 "license": "ISC"
 }

你说你那里有一个 package.json 目录。能否分享一下它的内容?它应该是一个文件,而不是一个目录,所以我很好奇里面有什么。 - Akash
对不起,我是指文件!我现在会将其内容添加到我的帖子中。 - tx291
8个回答

18

请检查您当前的目录。它应该包含一个具有适当结构和依赖关系的package.json文件。

https://docs.npmjs.com/files/package.json

如果您没有package.json文件,这意味着您正在从头开始创建项目。在这种情况下,您可以使用以下命令创建package.json文件。

npm init

使用npm install命令提供软件包名称并安装软件包。例如,如果您想安装express包,请使用以下命令:

npm install express
npm install express --save

使用 --save 选项将会在你的 package.json 文件中更新该模块及其版本号。


npm install 是从 package.json 文件中的 "dependencies" 列表安装包。 - Abhishek
安装软件包时,最好使用与该软件包相关的特定命令。 - Abhishek
如果您想安装Express,则使用以下命令: - Abhishek
使用npm安装express模块,并保存依赖。 - Abhishek
啊,好的!让我试试看。 - tx291
显示剩余4条评论

2
问题似乎很明显:
npm ERR! eisdir 与 npm 找不到 package.json 相关
这意味着 npm install 无法在文件夹中找到 package.json 文件。
您可以在该文件夹上运行 npm init。这将询问一系列项目设置问题,并最终创建一个 package.json 文件。
然后,您可以在该文件夹上运行 npm install -save-dev 来安装依赖项。

npm install => 请纠正(因为它像是 npm 整数萨尔 =) - Ruslan Makrenko

1
尝试使用 npm install --save 进行安装。

https://dev59.com/9GMl5IYBdhLWcg3wcmnD - Anthony Astige

0

同意@AnthonyAstige的观点 - 我遇到了同样的问题,即没有创建node_modules文件夹...至少我是这么认为的。在运行npm install express --save之前,我已经将我正在使用的文件夹拖到了VSCode中。@brk让我查看其他目录/文件夹,我发现node_modules文件夹的路径在我的主目录中,而不是我拖到VSCode中的文件夹。

故事的寓意是...在安装之前确保你在正确的目录下,也就是你的项目根目录。我知道,这是初学者的错误,但显然这是一个广泛讨论的话题。


0
通常我不会犯这个错误,但是我在根目录的package.json文件中拼错了“dependencies”。希望能对你有所帮助。

1
这不是对问题的回答,只是一种推测性猜测,最好仅限于评论部分,在这种情况下,即该问题两年前未被回答。 - Zachscs

0
如果您在尝试运行npm install的目录中有一个package-lock.json文件...请删除package-lock.json文件,然后再次运行npm install,这将生成所有所需的文件和文件夹。

0
尝试这些可能的解决方案。
1. Delete the node_modules folder and also delete the package-lock.json 
   file(if already present).
2. Clear the cache using npm cache clean --verify.
3. And then run npm install again.
如果 package.json 文件缺失。
   1. run npm init. It will create the package.json file on the fly for you.
   2. After this proceed as written in 1st Solution.
这个 bug 可能由许多不同的原因引起。也许你的全局包有某种损坏。
1 Install Node Version Manager (or NVM for Windows) and install Node version 10.16.1. 
  It is a much stable version for development. This should also change your NPM 
  version so that may also help.

2.Delete the package-lock.json file(if already present).

3 Force clear cache npm cache clean --force

4 You can also try clearing your %temp% and %roaming% AppData/npm-cache

5 Run npm install --force.

4 if this error still occurs, consider using another shell.

-1

你可能已经有了一个带有 package.json 的工作应用程序,只需将其粘贴到新项目中,然后输入命令 npm install 即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接