无法下载msnodesql-0.2.1-v0.10-x64.msi

问题描述 投票:7回答:4

我无法安装msnodesql。

最初我尝试过

npm install node-sqlserver

...这将警告它已被msnodesql取代。

我已经成功安装了Node.js,iisnode,并且看到示例Hello.js已被提供(很好,是的,所以至少node和iisnode都在工作。

我安装了前提条件:

Node.js - use the latest version if possible, but it has been tested on node 0.6.10 and later
node-gyp - latest version installed globally (npm install -g node-gyp)
python 2.7.x - for node-gyp (make sure it is in the path)
Visual C++ 2010 - the Express edition is freely available from Microsoft
SQL Server Native Client 11.0 - available as Microsoft SQL Server 2012 Native Client found in the SQL Server 2012 Feature Pack

...当我运行它时,我得到:

npm install msnodesql

npm http GET https://registry.npmjs.org/msnodesql
npm http 304 https://registry.npmjs.org/msnodesql

> [email protected] install c:\nodejs\node_modules\msnodesql
> node scripts/install.js

You are downloading Microsoft Driver for Node.js for SQL Server from
Microsoft, the license agreement to which is available at
http://download.microsoft.com/download/6/E/2/6E2D7972-E54D-45AA-
8AB6-41E616035147/EULA.rtf and in the project folder to which the
software is downloaded. Check the package for additional dependencies, which
may come with their own license agreement(s). Your use of the package and
dependencies constitutes your acceptance of their license agreements. If
you do not accept the license agreement(s), then delete the relevant
components from your device.
install.js: Unable to download msnodesql-0.2.1-v0.10-x64.msi
npm ERR! weird error 1
npm ERR! not ok code 0

我使用许可证密钥注册了C ++,所以,有人可以告诉我我在这里缺少什么吗?

请在这里请问noob问题,但是我不得不问,如何“检查程序包中是否存在其他依赖项”?到底指的是什么?

node.js iisnode node-sqlserver
4个回答
11
投票

发生此问题的原因是,在scripts / install.js的目标包中,驱动程序的URL无效。实际上,在Microsoft下载上,您会找到msnodesql-0.2.1-v0.8-x64.msi,但找不到脚本中指向的msnodesql-0.2.1-v0.10-x64.msi。纠正它的唯一方法是从本地驱动器安装它。

http://www.microsoft.com/en-us/download/details.aspx?id=29995分开下载驱动器。然后,我建议您:

  1. 从下载Git Hub (msnodesql)拉链包装。将其解压缩到本地驱动器
  2. 在解压缩的目录中替换

    的内容
    scripts/install.js
    

    如下所示:

    var assert=require('assert');
    var subprocess=require('child_process');
    var package=require('../package.json');
    
    function log( msg ) {
        console.log( "install.js: " + msg );
    }
    console.log( "You are installing driver locally." );
    
    var msiName = 'HERE_IS_THE_PATH_TO_YOUR_DOWNLOADED_DRIVER\\msnodesql-0.2.1-v0.8-x64.msi';
    // run the msi to extract the driver inside
    var msiCmd = [ 'cmd', '/c', 'msiexec', '/i', msiName, '/quiet','IACCEPTMSNODESQLLICENSETERMS=Yes', 'NPMINSTALL=Yes' ].join(' ');
    subprocess.exec( msiCmd, function( error, stdout, stderr ) {
        if( error !== null ) {
        log( error );
        log( stdout );
        process.exit( 1 );
        }
    });
    

然后开始运行

npm install FULL_PATH_TO_UNZIPPED_PACKAGE_DIR

安装过程不应失败。在您应用的模块文件夹中,将出现一个

      msnodesql

包装。然后,您应该下载(如果不是您自己建造的)

sqlserver.node

从Git Hub(我的声誉不允许向我发布链接,因此,如果需要,我会回复它)并将其放置到]]

libmsnodesql

模块目录的文件夹。这应该对您有帮助。

3
投票

这可以从这里安装:


1
投票

内核的答案使我几乎一路走到那里。我不得不执行一些其他步骤才能使其正常工作。


0
投票

你好,这对我有用

© www.soinside.com 2019 - 2024. All rights reserved.