我有一个项目,我将不得不部署到客户端Windows系统,它将无法连接到互联网。我目前在D:\NODE中有一个文件夹,其中包含node.exe和npm.cmd,还有一个node_modules文件夹。为了能够从命令行运行node,我将D:\NODE添加到PATH变量。
我可以在项目的node_modules中本地安装大多数模块。然而,有一个节点-windows-需要全局安装才能工作。
按照下面的建议,我找到了node-windows (全局安装)并将其打包(npm pack),这就创建了一个tarball。然后,我将该文件与我的项目一起复制,并尝试将其全局安装到测试机器上,如下所示:npm install -g node-windows-0.1.5.tgz
我可以看到它被安装在全局目录中。但是,当我尝试运行使用此模块的命令时,它报告说找不到它:Error: Cannot find module 'node-windows'
当我列出模块(npm list -g)时,它显然就在列表中……
你认为如何?谢谢你。
发布于 2014-04-24 01:41:22
您可以通过使用npm中的内置功能将包打包,从而在没有互联网连接的系统上安装包。这样,节点模块将被正确安装。
创建一个package.json.
bundledDependencies (docs on npm).npm install下列出安装节点文件所需的所有模块。在没有互联网的情况下,使用npm pack.npm install <filename>.
更新
关于你的评论,似乎没有找到你的全局安装的节点模块。
尝试使用npm link命令(docs on npm link):
cd yourAppFoldernpm link node-windows发布于 2017-11-28 15:52:14
1-在具有互联网访问功能的系统中,使用以下命令安装模块:
npm install [module name]2-转到%userprofile%\AppData\Roaming\npm\node_modulesmodule名称\(例如C:\Users\janson\AppData\Roaming\npm\node_modules\grunt-cli)
3-运行npm pack
4-这将产生一个模块名称-x.y.z.tgz文件
5-在脱机系统中运行npm i -g [module name]-x.y.z.tgz
https://stackoverflow.com/questions/23250805
复制相似问题