我只想将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.
答案 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 install
。 npm 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_modules
和node_modules\.staging
,此后它就起作用了。
答案 13 :(得分:0)
确保您在正确的目录下拥有package.json
答案 14 :(得分:0)
删除package.json
和package-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