npm WARN enoent ENOENT:没有这样的文件或目录,打开' C:\ Users \ Nuwanst \ package.json'

时间:2017-08-06 11:38:14

标签: javascript node.js npm server node-modules

我只想将socket.io安装到位于3.chat文件夹的项目中。但是,当我运行以下命令时,它显示以下Warnings.And它没有在我的项目文件夹中创建一个node_modules目录。如何解决这个问题?

C:\Users\Nuwanst\Documents\NodeJS\3.chat>npm install socket.io
C:\Users\Nuwanst
`-- socket.io@2.0.3

npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\Nuwanst\package.json'
npm WARN Nuwanst No description
npm WARN Nuwanst No repository field.
npm WARN Nuwanst No README data
npm WARN Nuwanst No license field.

19 个答案:

答案 0 :(得分:35)

您是否创建了 package.json 文件?也许再次运行此命令。

C:\Users\Nuwanst\Documents\NodeJS\3.chat>npm init

它会在您的文件夹中创建 package.json 文件。

然后跑,

C:\Users\Nuwanst\Documents\NodeJS\3.chat>npm install socket.io --save

--save可确保您的模块在 package.json 文件中保存为依赖项。

让我知道这是否有效。

答案 1 :(得分:26)

如果您已经拥有package-lock.json文件,请将其删除并重试。

答案 2 :(得分:10)

删除package-lock.json对我有用

然后npm install

答案 3 :(得分:4)

您需要确定app文件夹中是否存在package.json文件。我遇到相同问题的方式不同,但解决方案将相同

在存在“ package.json”文件的地方运行此命令。即使我遇到类似的问题,然后我也要更改文件夹并解决它。有关更多说明,我运行c:\ selfPractice> npm start,而我的package.json驻留在c:\ selfPractice \ frontend>中,然后我更改文件夹并运行c:\ selfPractice \ frontend> npm start并成功运行

答案 4 :(得分:3)

如果您的文件夹已经有package.json

然后

复制package.json的路径

打开终端

写:

cd your_path_to_package.json

ENTER

然后写:

npm install

这对我有用

答案 5 :(得分:2)

最后,如果您遇到以下问题,我就会找到解决方案:-

**npm WARN tar ENOENT: no such file or directory,.......**

那么这不是npm或其版本,它是os权限问题,需要您使用以下命令来解决:-

sudo chown -R $USER:$USER *

其他

sudo chmod -R 777 *

然后运行:-

sudo npm i 

答案 6 :(得分:2)

注意:如果您在CI管道中遇到此问题,通常是因为npm运行npm ci而不是npm installnpm ci需要准确的package-lock.json

要解决此问题,每当在package.json中修改软件包时(例如,像我一样将软件包从devDependencies迁移到Dependencies),都应通过在本地运行这些命令来重新生成package-lock.json在存储库中,然后将更改推向上游:

rm -rf node_modules
npm install
git commit package-lock.json
git push

答案 7 :(得分:1)

这对我有用:

我只是cd "C:\the_path_of_the_project_where_package.json_is"

在我跑 "npm start"

之前

答案 8 :(得分:1)

package.json 中的更新 version 对我有用

答案 9 :(得分:0)

您可以使用npm init来创建package.json。

答案 10 :(得分:0)

运行命令-npm init 没有找到文件目录的问题得到解决

答案 11 :(得分:0)

似乎已经在根目录中安装了express。复制package.json的路径并删除package json文件和node_modules文件夹。

答案 12 :(得分:0)

我在Windows上的一个新项目中遇到了这个问题。 npm install为我创建了一个node_modules文件夹,但是它以某种方式创建了该文件夹,但没有完全控制它。我完全控制了node_modulesnode_modules\.staging,此后它就起作用了。

答案 13 :(得分:0)

确保您在正确的目录下拥有package.json

答案 14 :(得分:0)

删除package.jsonpackage-lock.json文件

然后输入npm init

在此之后输入npm install socket.io --save

最后键入npm install

对我有用

答案 15 :(得分:0)

如果您尝试对来自其他地方的 npm install 文件夹进行 rsync,请记住将此添加到您的 rsync --exclude

yourpath/node_modules

否则,NPM 会尝试添加 node_modules,而 rsync 会立即将其删除,从而导致许多 npm WARN enoent ENOENT: no such file or directory, open 错误。

答案 16 :(得分:0)

如果像我这样,您的node_modules已安装在例如/ home / UserName /中, 您的package-lock.json文件也将在那里。只需删除此文件,返回到您的应用文件夹并运行npm init,然后运行npm install <pkgname>(例如express),就会为您创建一个新的node_modules文件夹。

答案 17 :(得分:-1)

您运行的文件路径错误。因此,如果您使用的是Windows,请使用cd转到正确的文件位置,然后从此处重新运行。

答案 18 :(得分:-1)

我们需要通过输入npm init创建 package.json ,并以 package.json 输入软件包名称,并选择填写其他要求,否则请按Enter,最后 输入进行确认。 大!! 现在,安装任何npm软件包,而不会出现任何错误。

npm install <package_name>

Windows10