我有一些javascript,我使用了sublime jsdoc插件来评论。我想从这些评论中产生一些文档。我正在防火墙和非常差的互联网上的机器上开发这个javascript,所以使用命令" npm install jsdoc"失败。这台机器肯定安装了node / npm。
我有一台笔记本电脑双启动linux / windows 10,我可以采用一个不错的互联网连接。
搜索我遇到了" opichals"解决方法:
将包及其依赖项提取到本地缓存文件夹中:
npm_config_cache =。/ npm_cache npm install express
运行304 HTTP服务器
node -e" var http = require(' http'); var fs = require(' fs'); http.createServer(function(req,res){res.writeHead(304,{' Content-Type':' text / plain'}); res.end();}) 。听(9615);" &安培;
现在即使npmjs.org无法解析
,这实际上也会安装npm_config_registry = http://localhost:9615/ npm_config_cache =。/ npm_cache npm install express
关闭304服务器
FG CTRL + C
来源: https://github.com/npm/npm/issues/1738#issuecomment-10414774
显然(?)您无法在命令行中键入所有这些命令。我已经尝试了这些步骤,生成了一个包含所有jsdoc依赖项(和jsdoc)的缓存文件夹。
我把那个缓存移到我的另一台计算机上,跨越了http服务器(我也不明白,我假设我在缓存文件夹中运行它?),设置npm config" cache"和"注册表"参数到适当的位置。但是当我尝试npm安装jsdoc时,它找不到任何软件包。
所以我想回答如何在没有互联网的机器上设置jsdoc?
我还想知道我是否正确相信您可以从本地缓存安装包+依赖项。或者,您可以将node_modules文件夹从一台计算机复制并粘贴到另一台计算机吗?
答案 0 :(得分:0)
答案:执行" npm install jsdoc"。无论在哪里安装jsdoc(通常在命令执行的文件夹内 - 我都搞乱了一些设置,所以我的不同)。该文件夹将被称为node_modules。
我将node_modules带到网络较差的计算机上。我没有更改名称(这很重要!),在其中打开一个命令提示符,我现在只需键入.bin / jsdoc --version并打印出版本。
因为我正在运行从node_modules文件夹执行jsdoc,所以我必须编辑jsdoc.js,以便它为查找另一个模块而生成的相对路径是正确的:
运行jsdoc(但仍然有大量警告)会在node_modules中生成一个输出文件夹。
我还没有意识到你可以复制+粘贴node_modules文件夹。我怀疑我必须做的编辑意味着我不应该这样做?