最近开始使用Atom编辑器写作。为了预览带LaTeX公式的markdown文档,尝试安装插件markdown-preview-plus,但是总是失败。经过仔细查看错误输出和网上相关问答,发现尽管报错为Compiler tools not found,真实原因其实是网络不通畅(GFW)。由于无法使用代理上网,最后只能手动安装完成,摸索过程记录如下。其他插件的手动安装,也可以参照本文。

简单摘要:从github下载并手动安装插件;用nrm测试和切换npm源;用npm-install-missing批量安装模块。

安装插件

首先找到该package的代码库。

下载zip文件,并解压到 Users\..\.atom\packages\ 文件夹中。

在 cmd 下切换到该目录,执行 apm install markdown-preview-plus

此时仍会报错,并且打开Atom后会出现 Cannot find module fs-plus 错误信息,但是已经可以在Packages菜单下找到该插件。

这是因为手动安装时,只安装了这个包,没有安装它的若干依赖模块。

安装缺失模块

首先安装 node.js

如果想手动安装fs-plus这一个模块,可以在上述markdown-preview-plus的目录下执行 npm install fs-plus。但是这样安装完成之后还会源源不断地提示缺少其他模块……由于 markdown-preview-plus 这个包的依赖模块比较多,不能一个一个手动安装,最好借助其他工具批量安装。

为了批量安装所有依赖模块,首先安装 npm-install-missing 工具,即执行 npm install -g npm-install-missing

然后在markdown-preview-plus目录里执行 npm-install-missing

这一步再次报错 Registry returned 404 for GET on....,同样是因为墙的缘故。解决方案是切换源。

首先执行 npm install -g nrm,这是源的管理工具。安装成功后,便可以用 nrm ls 列出可选源,nrm test 测试连接时间,方便地在不同源之间切换。测试结果显示,我这里最快的源是 cnpm,于是执行 nrm use cnpm 来切换到它。

最后,再次 npm-install-missing,这次安装成功!

现在可以打开 Atom 编辑器,停用默认的 markdown-preview 插件,启用 markdown-preview-plus,通过快捷键 Ctrl+Shift+m 切换源文件和预览窗口。

Atom手动安装插件和模块的解决方案的更多相关文章

  1. 使用sublime text3手动安装插件

    众所周知,由于网络问题,使用install package可能会连不上服务器,这时候就不得不手动安装插件了. 其实sublime安装插件的原理就是当你搜索一个插件并安装的时候,它回去github找到这 ...

  2. sublime text3 手动安装插件package control

    好久没写了,今天换了新电脑,先安装前端神器“sublime” 一,安装 下载sublime,官方网址:http://www.sublimetext.com/: 二.插件包安装( Package Con ...

  3. AndroidStudio手动安装插件

    由于网络原因,android studio 的插件市场经常不能打开或者不能下载,这种情况我们可以手动下载插件的压缩包,再手动安装. 第一步,打开https://plugins.jetbrains.co ...

  4. Atom本地安装插件右上角出现红色报错解决方案

    在github上搜索你相中的插件(Package),并下载ZIP包或直接克隆项目到本地.然后将该包直接复制到C盘中的用户下的 .atom\packages\ 文件夹下,注意 atom前面有一个点. 然 ...

  5. atom无法安装插件的解决方法之一

    atom通过setting中无法下载插件,通过apm也无法下载插件,可能是网络.config配置的问题,不好解决. 下面的方法全手动,基本属于万金油方法: 1,在atom的setting页面中点击op ...

  6. jenkins手动安装插件

    插件下载地址: 搜索:https://plugins.jenkins.io/ 列表:https://updates.jenkins-ci.org/download/plugins/ 打开jenkins ...

  7. atom无法安装插件的解决方法

    atom通过setting中无法下载插件,通过apm也无法下载插件,可能是网络.config配置的问题,不好解决. 下面的方法全手动,基本属于万金油方法: 1,在atom的setting页面中点击op ...

  8. atom编辑器安装插件报错。。

    Checking for native build tools failed gyp info it worked if it ends with ok gyp info using node-gyp ...

  9. 手动安装sublime插件babel-sublime

    (一)手动安装babel 在开发reactjs开发使用sublime时,想要代码高亮显示,需要安装babel-sublime插件,在Preferences中的Package Control菜单搜索In ...

随机推荐

  1. Objective-C日记-之NSPredicate

    谓语:NSPredicate 1,概述: 用于设置指定的过滤器的条件,通俗的理解就是设置选择的条件,再对指定的对象应用这个条件 2,用法: a,首先设置谓语. NSPredicate *predica ...

  2. strtok、strtok_s、strtok_r 字符串分割函数

    1.strtok函数 函数原型:char * strtok (char *str, const char * delimiters); 参数:str,待分割的字符串(c-string):delimit ...

  3. KoaHub.JS用于Node.js的可移植Unix shell命令程序代码

    shelljs Portable Unix shell commands for Node.js ShellJS - Unix shell commands for Node.js     Shell ...

  4. Archlinux 的U盘自动装载(一)udisks

    为什么要用 udisks + udevil 方式自动装载 U 盘? Gnome 和 KDE 下的很多文件管理器都有自己的U盘装载方案.但我的应用环境为: Archlinux,xorg,Openbox, ...

  5. SQL一次查出相关类容避免长时间占用表(上)

    /* server: db: EDI */ -- 以下案例多次查询同一张表,仅有组合条件Name+Direction不同 --可以使用一次查出相关类容避免长时间占用表 USE EDI GO DECLA ...

  6. iTunes Documents 文件共享指导手册

    金田 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Helvetica; min-height: 13.0px } p.p2 { margi ...

  7. Visual Studio 2015/2017 与ASP.NET CORE 联合创建具有SPA模式的Angular2模板

    虽然注册博客园很久,但是一直没有什么可写的,真心感觉好尴尬了,这次终于找到了一点可以写,有点小兴奋和小害羞呢. 进入主题,前端SPA模式越来越受到欢迎,Core 也开始被很多企业提上日程,但是因为这个 ...

  8. JavaScript数据结构——链表的实现

    前面楼主分别讨论了数据结构栈与队列的实现,当时所用的数据结构都是用的数组来进行实现,但是数组有的时候并不是最佳的数据结构,比如在数组中新增删除元素的时候需要将其他元素进行移动,而在javascript ...

  9. struct 和typedef struct的区别

    和int char一样struct也是一种数据类型,也可以声明变量--结构变量. 定义结构体变量的一般格式为: struct 结构名 { 类型 变量名; 类型 变量名; ... }结构变量; 另一种常 ...

  10. 深入浅出数据结构C语言版(3)——递归简论

      相信学习过C语言的读者都已经接触过递归(不论是谭浩强的C程序设计还是C Primer Plus都有递归程序),本文就是对递归的基本原则进行简要介绍.首先,我们写一个基本的递归函数作为例子: int ...