2014-06-28 151 views
50

npm install/npm install -g命令不能在Windows 7工作NPM安装提供了错误 “无法找到的package.json文件”

Node.js的正确安装,Node.js的版本是v0.10.28

无法读取依存关系
ENOENT,open'“filepath”\ package.json'
这很可能不是npm本身的问题。
npm无法在当前目录中找到package.json文件。

Photo

+0

http://i.stack.imgur.com/wGoYc.jpg –

+1

“不工作”不是很有用。从你的屏幕截图看,它在'package.json'中遇到问题。你能发表那些内容吗?日志说什么? (实际上,'ENOENT'表示npm不能读取指定的文件,你的包文件在哪里?你有一个吗?) – Ben

+0

是的,这生成npm-debug.log文件 链接如下: http:///jsfiddle.net/goldfingergerz/Whz35/ –

回答

71

你不说你要安装的模块 - 因此NPM查找文件package.json描述你的依赖,显然这个文件丢失。

因此,要么你必须明确地告诉npm要安装哪个模块,例如,

npm install express 

npm install -g express-generator 

,或者你必须添加一个package.json文件,并在这里注册您的模块。获取这样一个文件的最简单方法是让npm通过运行创建一个

npm init 

然后添加你所需要的。请注意,这只适用于本地安装的模块,不适用于全球模块。

一个简单的例子可能是这样的:

{ 
    "name": "myapp", 
    "version": "0.0.1", 
    "dependencies": { 
    "express": "4.0.0" 
    } 
} 

或类似的东西。有关package.json文件的更多信息,请参阅official documentationthis interactive guide

+0

非常感谢。被卡住了2天。 – fiddle

11

node自带npm安装,所以你应该有一个版本的npm,但是npm被更频繁地比node做更新,所以你要确保它的最新版本。

sudo npm install npm -g 

测试:运行npm -v。版本应该高于2.1.8。

npm install 

这就是它!

https://www.youtube.com/watch?v=wREima9e6vk

6

我不知道你要在这里做什么:

npm install独自在你的home目录不应该做太多 - 它不是一个节点的应用程序的根,所以没有什么可安装的,因为没有package.json。

有两种可能的解决方案:

1)cd到节点的应用程序,并运行npm install那里。 2)如果你试图安装某些东西作为在shell中使用的命令(你没有节点应用程序),npm install -g packagename

-g标志告诉它安装在全局名称空间中。

1

在我的情况有误,我的package.json:

npm ERR! package.json must be actual JSON, not just JavaScript.

1

检查这个link有关如何在本地安装的应用程序express.js步骤。

但是,如果由于某种原因要全局安装express,请确保您所在的目录是安装Node的目录。 在我的Windows 10,的package.json位于

C:\Program Files\nodejs\node_modules\npm 

打开命令提示符以管理员身份,改变你的目录到您的package.json所在的位置。

然后发出安装命令。

0

我面临的问题如下。

npm ERR! errno -4058 npm ERR!系统调用打开npm ERR! enoent ENOENT:否 这样的文件或目录,打开 'D:\ SVenu \ FullStackDevelopment \ Angular \ Angular2_Splitter_CodeSkeleton \ CodeSkeh leton \ run \ package.json'npm ERR! enoent这与npm相关,而不是 能够找到文件。 npm ERR! enoent

我做的问题是,我运行命令npm build run而不是运行npm run build

只是分享,以帮助像我这样的小错误的人。

0

>>对于Visual Studio用户/包管理器控制台< <

如果您正在使用Visual Studio中的包管理器控制台,并要执行:

npm install并获得:

ENOENT:no such file or directory,open 'C:\ Users ... \ YourProject \ package.json'

确认您在正确的目录中执行该命令。

打开包管理器控制台时,默认情况下VS使用解决方案文件夹

执行dir那么你可以看到你目前在哪个文件夹。最有可能在解决方案文件夹中,这就是为什么你会得到这个错误。 现在你必须cd到你的项目文件夹。

cd YourWebProject

现在npm install应该现在的工作,如果没有,那么你有其他问题。