npm install出错"无法找到package.json文件"

时间:2014-06-28 14:57:09

标签: node.js npm

npm install / npm install -g命令在Windows 7中无效

Node.js已正确安装,node.js版本为v0.10.28

  

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

Photo

10 个答案:

答案 0 :(得分:79)

您没有说要安装哪个模块 - 因此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

答案 1 :(得分:13)

node附带npm,因此您的版本应为npm,但npm的更新频率高于node,因此您需要我想确保它是最新版本。

sudo npm install npm -g

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

npm install

就是这样!

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

答案 2 :(得分:6)

我不确定你在这里尝试做什么:

单独在您的主目录中的{p> npm install不应该做太多 - 它不是节点应用的根,所以没有什么可以安装的,因为那里有'没有package.json。

有两种可能的解决方案:

1)cd到节点应用并在那里运行npm install。 OR

2)如果您尝试安装某些内容作为在shell中使用的命令(您没有节点应用程序),npm install -g packagename-g标志告诉它安装在全局命名空间中。

答案 3 :(得分:4)

<强>&GT;&GT;对于使用程序包管理器控制台&lt;&lt;

的Visual Studio用户

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

npm install并获取:

  

ENOENT:没有这样的文件或目录,打开   'C:\用户... \ YourProject \的package.json'

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

VS在打开软件包管理器控制台时默认使用解决方案文件夹

执行dir,然后您就可以看到您当前所在的文件夹。最有可能在解决方案文件夹中,这就是您收到此错误的原因。 现在您必须cd到项目文件夹。

cd YourWebProject

现在npm install应该可以正常工作,如果没有,那么你还有另一个问题。

答案 4 :(得分:2)

使用以下命令创建package.json文件。

 addItem(product: Product) {
  let item = new Item(product, 1, product.price, product.productId, '');
  const body = JSON.stringify(item);
  const token = localStorage.getItem('token');
  const headers = new Headers({'Authorization': token});
  headers.append('Content-Type', 'application/json');       
  const userId = localStorage.getItem('userId');
  console.log(item);
  return this._http.patch('http://localhost:3000/item/' + userId, body, {headers: headers})
    .map(response => response.json()) 
    .catch((err) => this.handleError(err)); 
  }

[此方法将使用从当前目录中提取的信息生成默认的package.json。]

Working with package.json

答案 5 :(得分:1)

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

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

答案 6 :(得分:1)

请查看此link,了解有关如何在本地为您的应用程序安装express.js的步骤。

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

C:\Program Files\nodejs\node_modules\npm

以管理员身份打开命令提示符,并将目录更改为package.json所在的位置。

然后发出install命令。

答案 7 :(得分:0)

我遇到了同样的问题,如下所示。

  

npm ERR! errno -4058 npm ERR!系统调用打开npm ERR! enoent ENOENT:没有   这样的文件或目录,打开   “d:\ SVenu \ FullStackDevelopment \角\ Angular2_Splitter_CodeSkeleton \ CodeSke   leton \ run \ package.json'npm ERR! enoent这与npm没有关系   能够找到一个文件。错误的ERR! ENOENT

我遇到的问题是,我正在运行命令npm build run而不是运行npm run build

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

答案 8 :(得分:0)

使用此代码解决:

npm install npm@latest -g

答案 9 :(得分:0)

首先,您不在当前文件夹中...

请使用Cd联接到文件夹名称,以在重新查询的项目文件夹中访问...

然后使用代码