最近开始使用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. Servlet中编码在过滤器中的使用

    1.先配置web.xml ->配置过滤器 // filter-class 为写的过滤器类 实现 Filter 接口 <filter> <filter-name>Encod ...

  2. .Net程序员学用Oracle系列(20):层次查询(CONNECT BY)

    1.层次查询语句 1.1.CONNECT BY 语法 1.2.CONNECT BY 示例 2.层次查询函数 2.1.SYS_CONNECT_BY_PATH 2.2.WMSYS.WM_CONCAT 2. ...

  3. 小白该怎么学《马哥Linux从入门到精通》

    首先,必须说明我已经不是小白啦~现在的我在国内某独角兽担任运维工程师,带着一个四人小团队,在运维方面也算是有些心得,勉强过来回答一下这个问题,就算抛砖引玉了. 所有人都是从小白阶段过来的,我=也经历过 ...

  4. Hibernate二级缓存原理

    缓存:缓存是什么,解决什么问题? 位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为缓存Cache.缓存目的:让数据更接近于应用程序,协调速度不匹配,使访问速度更快 ...

  5. 1684: [Usaco2005 Oct]Close Encounter

    1684: [Usaco2005 Oct]Close Encounter Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 387  Solved: 181[ ...

  6. Floating IP in OpenStack Neutron

    前言 Floating IP 是相对于Fixed IP而言的,它一般是在VM创建后分配给VM的,可以达到的目的就是,外界可以访问通过这个Floating Ip访问这个VM,VM也可以通过这个IP访问外 ...

  7. javascript写贪吃蛇游戏(20行代码!)

    <!doctype html> <html> <body> <canvas id="can" width="400" ...

  8. 在Chrome中安装PostMan用来测试SpringBoot程序

    1. 首先下载一个PostMan的插件,Postman_v4.1.3.crx 下载下来为这种类型的文件. 2. 在Chrome中输入chrome://extensions/ 这个,打开Chrome的扩 ...

  9. JAVA-Servlet-过滤器知识总结

    JAVA Filter是什么呢? Servlet过滤器实际上就是一个标准的java类,这个类通过实现Filter接口获得过滤器的功能.它在jsp容器启动的时候通过web.xml配置文件被系统加载.Se ...

  10. SharePoint 切换用户的小技巧

    前言 从SharePoint 2013开始,SharePoint就已经去掉了”Sign in as Different User”这个功能,也就是无法切换用户登录.当然,后来我们通过修改CONTROL ...