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

我有一个angular度项目(真的只是文档教程 ),我想在我的项目中包含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", ... 

错误:

 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 

我怎样才能在我的项目中包含这个依赖项?

Node-mysql版本> 2.5还没有出来。 Node-mysql在版本0.4.1上。 我怀疑你正在寻找只是普通的MySQL NPM模块。 npm上的Mysql版本是2.5.4。

尝试使用此代替:

 "mysql": ">=2.5.0" 

如果你去这个页面: https : //github.com/felixge/node-mysql 。 他们在安装说明中说使用npm install mysql。 这可能有点混乱,因为他们的github页面是node-mysql。

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

 npm install mysql --save 

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

正如其他答案中所提到的,npm不会识别您指定的版本。 我build议从package.json中删除该行,然后运行一个命令:

 npm install --save mysql 

这将在本地安装依赖,并添加行到你的package.json(这是什么 – 保存标志)。 这会自动默认为最新的稳定版本的node-mysql。

一般来说,唯一一次你要在你的package.json中指定一个实际的版本是,如果一个库修补了你实际需要的一些function,在这种情况下,你可以指定一个版本,以便必要的function总是在那里。 所以一定要开始使用 – 保存标志,当你可以。 这是非常有用的。 祝你好运!