Npm 警告 ENOENT: 没有这样的文件或目录,打开‘ C: Users Nuwanst package.json’

我只是想安装 socket.io 到我的项目中,它位于3。聊天文件夹。但是当我运行 following 命令时,它会显示以下警告。而且它没有在我的项目文件夹中创建 node _ module 目录。怎么补救?

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.
464830 次浏览

你创建了一个 包裹 Json文件吗? 也许再次运行这个命令。

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

它在您的文件夹中创建一个 包裹 Json文件。

那就跑吧,

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

--save确保将模块作为依赖项保存在 包裹 Json文件中。

如果成功了告诉我。

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

在存在“ package.json”文件的地方运行这个命令。即使我遇到类似的问题,然后我改变了文件夹,并得到解决。为了得到更多的解释,我运行 c: self Practice > npm start,而 my package.json 位于 c: self Practice front > 然后我改变文件夹并运行 c: self Practice front > npm start,它就运行了

如果您已经有 package-lock.json文件,只需删除它,然后再试一次。

如果在我的示例中,将 node _ module 安装在 say/home/UserName/中, 你的包裹锁。Json 文件也会在那里。只要删除这个文件,回到你的应用程序文件夹,运行 npm init,然后 npm install <pkgname>(如快递) ,一个新的 node _ module 文件夹将被创建。

最后,我有一个解决方案,如果你得到:-

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

那么它不是问题的 npm 或其版本它是操作系统的权限问题来解决这一点,你需要使用以下命令:-

sudo chown -R $USER:$USER *

附加费

sudo chmod -R 777 *

然后跑:-

sudo npm i

我在 Windows 上的一个新项目里有这个。npm install已经为我创建了一个 node_modules文件夹,但是它以某种方式创建了这个文件夹,而没有给我对它的完全控制权。我给自己完全控制 node_modulesnode_modules\.staging,它工作之后。

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

然后,

复制 package.json的路径

终端打开

写:

cd your_path_to_package.json

ENTER

然后写:

npm install

这招对我很管用

看起来您已经在根目录中安装了 Express。复制 package.json 的路径并删除包 json 文件和 node _ module 文件夹。

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

为了解决这个问题,无论何时在 package.json中修改包(例如像我一样将包从 devDependency 移动到 Dependency) ,都应该在本地运行这些命令,在存储库中重新生成 package-lock.json,然后向上推送更改:

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

您运行的文件路径是错误的。因此,如果您正在使用 windows,请使用 cd 转到正确的文件位置并从那里重新运行。

确保处于拥有 package.json 的正确目录下

删除 package.jsonpackage-lock.json文件

然后输入 npm init

npm install socket.io --save型之后

最后输入 npm install

对我有用

如果您试图在一个从其他地方进行 rsync的文件夹上进行 npm install,请记住将其添加到 rsync --exclude

yourpath/node_modules

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

更新包中的 version json 为我工作

我刚刚经历了这个错误,但在寻找答案的过程中,我找到了答案在这里的 stackoverflow 的过程中,所以我决定也分享它,如果这个错误发生在一个反应项目,你正在工作,当你运行 npm start确保改变目录到目录中的反应已经安装在它,它将开始工作