在package.json中包含依赖性时遇到问题

red*_*888 1 javascript dependencies node.js angularjs

我有一个角度项目(实际上只是文档教程),我想在我的项目中包含node-mysql模块 - 不必全局安装.

我不确定我是如何理解它的,但我认为我所要做的就是将这个模块添加到package.json作为依赖项并运行npm install,但是我收到一个错误:

    PS> cat .\package.json
    {
      "version": "0.0.0",
      "private": true,
      "name": "angular-phonecat",
       ...
      "dependencies": {
        "node-mysql": ">=2.5.0"
      },
      "devDependencies": {
        "karma": "^0.12.16",
       ...
Run Code Online (Sandbox Code Playgroud)

错误:

PS> npm install
npm WARN package.json karma-chrome-launcher@0.1.7 No README data
npm ERR! notarget No compatible version found: node-mysql@'>=2.5.0'
npm ERR! notarget Valid install targets:
npm ERR! notarget ["0.1.1","0.1.2","0.1.3","0.1.4","0.1.5","0.1.6","0.1.7","0.1.8","0.1.9","0.2.0","0.2.1","0.2.2","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7","0.2.8","0.2.9","0.3.0","0.3.1","0.3.2","0.3.3","0.3.4","0.3.5","0.3.6","0.3.7","0.3.8","0.3.9","0.4.0","0.4.1"]
npm ERR! notarget
npm ERR! notarget This is most likely not a problem with npm itself.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd C:\testangular\ticketsys\angular-phonecat
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! code ETARGET
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\testangular\ticketsys\angular-phonecat\npm-debug.log
npm ERR! not ok code 0
Run Code Online (Sandbox Code Playgroud)

如何在项目中包含此依赖项?

rav*_*ano 7

Node-mysql版本> 2.5还没有出来.Node-mysql的版本为0.4.1.我怀疑你正在寻找常规的mysql npm模块.npm上的Mysql是2.5.4版本.

请尝试使用此代码:

"mysql": ">=2.5.0"
Run Code Online (Sandbox Code Playgroud)

如果你转到这个页面:https://github.com/felixge/node-mysql.他们在安装说明中说使用npm install mysql.这可能有点令人困惑,因为他们的github页面是node-mysql.

或者,不要手动将其添加到依赖项,您可以继续执行以下操作:

npm install mysql --save 
Run Code Online (Sandbox Code Playgroud)

这只会在本地安装最新的一个(不是全局的,如果你想在全局安装它,你可以添加-g标志,但因为你不需要那个!).

  • 为了以防万一,如果`node-mysql`是他想要的,运行`npm install --save node-mysql`将安装最新的所需版本,并将正确添加到package.json.删除与node-mysql对应的行并运行该命令.一般情况下,如果您只想要最新版本的软件包,只需使用npm install --save安装即可 (3认同)
  • @ red888如果您尝试使用https://github.com/felixge/node-mysql,那么您正在寻找npm install mysql NOT npm install node-mysql.它在github页面上说使用npm install mysql.npm install node-mysql实际上会安装一个完全不同的pacakge,它实际上只是一个用于mysql的orm. (3认同)