npm安装不了任何依赖项。

9
我正在尝试在package.json文件中安装软件包。不幸的是,当我运行npm install时,什么也没发生(没有安装)。我已经在其他存储库中使用npm install并且成功了。这是我的路径:
$PATH = /Users/me/.rbenv/shims:/Users/me/.rbenv/bin:/usr/local/share/npm/bin:/usr/local/bin:/Applications/Postgres.app/Contents/MacOS/bin:/usr/bin:/bin:/usr/sbin:/sbin

正如您所看到的,npm/bin在我的路径中,我认为这是正确的。

以下是此存储库的说明以及运行npm install的位置(我正在进行)

go into "module"
run "npm install"
pair your laptop/pc with intelligent brick troubleshoot: http://www.ev-3.net/en/archives/97
run example.js: "node example.js"
see "example.js" for more details

当我在模块目录(具有package.json)中运行npm install时,没有安装任何内容。
以下是package.json:
{
  "name": "ev3-nodejs-bt",
  "description": "Bt Api for lego ev3 robot",
  "version": "0.0.4",
  "private": false,
  "dependencies": {
    "serialport": "1.*"
  },
  "main": "Ev3.js",
  "devDependencies": {"serialport": "1.*"},
  "scripts": {
    "test": "node Ev3.js"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/wenchaojiang/Ev3NodeJsBtAPI"
  },
  "keywords": [
    "node.js",
    "ev3",
    "lego",
    "robot",
    "bluetooth"
  ],
  "author": "Wenchao Jiang <psxwj@nottingham.ac.uk> (http://wenchaojames.wordpress.com/)",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/wenchaojiang/Ev3NodeJsBtAPI/issues"
  }
}

我系统上设置有问题吗?(基于我的 $PATH 和在其他 node-js 仓库中成功安装数据包的经验,我认为没有问题)这个 package.json 文件不合法吗?


3
Node JS和乐高?报名! - SomeKittens
我所看到的唯一依赖是“serialport”。你的node_modules目录中有哪些内容? - Brandon
2个回答

8

npm install在所有依赖项都已满足时不会安装(或显示)任何内容。 确保在node_modules下有一个 serialport 文件夹。

如果你想重新安装所有内容,只需要删除 node_modules 文件夹即可:

rm -r node_modules
npm install

非常抱歉,不确定为什么复制/粘贴时没有包含引号。在我的 package.json 文件中,它们确实有引号,就像您提到的那样。我刚刚更新了问题中的文件。 - HelloWorld
好的,JSONLint 表示你有有效的 JSON,并且我能够使用相同的 package.json 进行 npm install。目录中是否有 node_modules 文件夹? - SomeKittens
3
@SomeKittens,我和HelloWorld遇到了相同的问题,但删除node_modules目录并重新运行npm install还是没有解决问题。我运行npm install,列出了所有已安装的依赖项(根据我的package.json),但是在运行npm install后,仍然没有名为“node_modules”的目录,因此没有安装任何东西。我可以一遍又一遍地运行它,结果都相同。我想看看是否有其他解决这个谜团的方法。 - CtheGood
@CtheGood 我建议您提出一个新问题,并在问题中附上相关代码。 - SomeKittens

1
如果你有一个npm-shrinkwrap.json文件,请检查它。 npm install 命令只会安装该文件中指定的软件包。
根据 npm install 文档
如果软件包有一个shrinkwrap文件,那么依赖项的安装将由该文件驱动。
我的项目也遇到了同样的问题。当我查看我的npm-shrinkwrap.json文件时,我看到了 dependencies: {}。这就是为什么它没有为我安装任何东西的原因。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接