【问题标题】:npm doesn't work after 'npm install''npm install' 后 npm 不起作用
【发布时间】:2018-04-17 00:33:39
【问题描述】:


我从https://nodejs.org/en/
安装了 node.js + npm,并为项目创建了一个文件夹,并 cd 进入其中(操作系统:Windows 10)。当我尝试时

C:\nodejs\demo>npm install express@3.5.0

npm 开始删除所有标准包,在安装过程之后我看到它删除了 460 个包并安装了 1-express(express 只是一个示例,我尝试安装的任何包都会发生同样的情况)。

npm WARN saveError ENOENT: no such file or directory, open 'C:\nodejs\package.json'
npm WARN enoent ENOENT: no such file or directory, open 'C:\nodejs\package.json'
npm WARN nodejs No description
npm WARN nodejs No repository field.
npm WARN nodejs No README data
npm WARN nodejs No license field.

+ express@3.5.0
removed 460 packages and updated 1 package in 8.63s

如果我尝试npm -v,npm 会停止工作,我会看到以下内容:

module.js:538
    throw err;
    ^

Error: Cannot find module 'C:\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:536:15)
    at Function.Module._load (module.js:466:25)
    at Function.Module.runMain (module.js:676:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3
module.js:538
    throw err;
    ^

Error: Cannot find module 'C:\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:536:15)
    at Function.Module._load (module.js:466:25)
    at Function.Module.runMain (module.js:676:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3

我不知道它是否重要,但是在安装 node.js 之后我不得不自己将它添加到 PATH 变量中。

谁能解释一下我做错了什么或如何解决这个问题?

【问题讨论】:

  • 我不确定出了什么问题,但我不认为“删除 460 个软件包”是 npm 安装的预期行为,尤其是当它没有找到任何 pacakge.json 时

标签: node.js windows express npm npm-install


【解决方案1】:

您收到的与 package.json 相关的错误,因为您的演示文件夹中可能没有 package.json。

在本地安装节点模块之前,在您的演示文件夹中添加 package.json。 package.json 参考以下示例

{
  "name": "app",
  "version": "0.0.1",
  "main":"test.js",
  "author":"Test",
  "description": "For test ",
  "dependencies": {
    "express": "latest",
    "mongoose": "latest"
  }

}

一旦你添加了 package.json 并且当你想安装 node js 模块时,请使用以下命令

npm install <packagename> --save 

这将在您的演示文件夹中安装模块并自动将条目添加到 package.json。因此,只要您执行“npm install”,它就会安装这些软件包。

用于全局安装节点模块

npm install <package> -g

【讨论】:

  • 非常感谢,帮了大忙!
  • 我做了,但我没有足够的声誉,所以记录了,但没有支付:(
【解决方案2】:

嘿,我得到了解决方案..

在环境变量中有两个变量,因此在用户变量“路径”中应该包含 C:\Users\username\AppData\Roaming\npm

并且在系统变量“路径”中应该包含 C:\Program Files\nodejs\

【讨论】:

    【解决方案3】:

    我使用的是 ionic 3,当我无法安装一些 cordova 插件时遇到了这个问题。这是我设法通过的解决方法。导航到 C:\Program Files\nodejs\node_modules 复制文件夹“npm”并将其粘贴到源代码的 node_modules 中。

    【讨论】:

      猜你喜欢
      • 2016-05-03
      • 1970-01-01
      • 2017-11-12
      • 2013-12-04
      • 2021-07-18
      • 1970-01-01
      • 1970-01-01
      • 2017-02-28
      • 1970-01-01
      相关资源
      最近更新 更多