【问题标题】:npm install resulting in 'ENOENT: no such file or directory'npm install 导致'ENOENT:没有这样的文件或目录'
【发布时间】:2016-11-03 18:09:14
【问题描述】:

我已经为 Windows 安装了 Node.js,我正在尝试通过 npm 安装一个包。命令提示符位于项目目录 (C:\Users\username\Desktop\NodeTest) 中,其中包含单个 helloworld.js 文件。输入“npm install express”后,我收到以下错误:

ENOENT: no such file or direcotry, open 'C:\Users\username\package.json

我正在通过全新安装尝试此操作,并且 cmd 以管理员身份运行。

有什么想法吗?

【问题讨论】:

  • 你的项目中有package.json吗??

标签: node.js npm


【解决方案1】:

正如 Subburaj 已经指出的那样,这是因为您缺少 package.json
只需运行npm init 为您初始化该文件;之后它应该可以工作。

【讨论】:

  • 太好了,谢谢。我关注的两个教程都没有包含这一步。
  • 或者您在与 package.json 所在目录不同的目录中。
【解决方案2】:

我也面临同样的问题。我首先删除我的node_modules 并通过以下命令删除缓存:

rm -rf node_modules && npm cache clean --force

然后我从我的项目中删除package-lock.json 文件,然后在命令提示符下点击npm install,它就可以工作了。

【讨论】:

  • 删除 package-lock.json 是关键。谢谢
【解决方案3】:

基本上我在尝试使用 npm 安装时处于离线状态,所以请上网尝试 再次npm install

【讨论】:

    【解决方案4】:

    检查您在 microsoft visual code 中打开的项目文件夹。通常您不在正确的路径中,因此 npm 无法搜索 package.json ...我的项目在 Document/hostel/hostel 中。我打开了 Document/hostel ...所以 npm 试图找到 package.json在 Documents 文件夹中 .. 当我进入 Document/hostel/hostel 内部的一层时 .. 它已修复。

    【讨论】:

      【解决方案5】:

      如果您在使用 Vagrant/VM 的 Windows 机器上工作,则符号链接有可能是您问题的罪魁祸首。要确定是否是这种情况,只需将您的 package.jsonpackage-lock.json 复制到未在操作系统之间安装/共享的测试目录中。

      mkdir /tmp/symlinktest
      cd {{your directory with your package*.json}}
      cp package*.json /tmp/symlinktest
      cd /tmp/symlinktest
      npm install
      

      如果这导致安装成功,您需要从挂载中排除 node_modules 目录(有很多关于这样做的文章,但我不能说我已经成功)或运行 @987654325 @ 在已安装的卷之外。

      【讨论】:

      • 一个完美的例子,说明即使问题不包括边缘情况(流浪者),SO 答案也能提供帮助。谢谢。
      【解决方案6】:

      我删除了 package-lock.json,它对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-08
        • 2020-11-09
        • 2018-02-15
        • 1970-01-01
        • 2018-06-29
        • 2018-07-03
        • 2014-01-12
        • 1970-01-01
        相关资源
        最近更新 更多