最近开始使用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. 【2017-03-12】SQL Sever 子查询、聚合函数

    一.子查询 子查询:把一条查询语句,当做值来使用子句的查询结果必须是一列子句可以返回多行数据,但必须是一列 子句返回的值为一个值的时候: 例如: 我只知道c026这个编号,我要查询比这个车价格低的全部 ...

  2. cocos2dx 魔塔项目总结(一)

    <魔塔天城>发布已经有半年的时间了,一直想找时间来总结一下这个项目,但总是一拖再拖.如果再这么拖下去,就永远都不会有时间来写这个总结了,时间总是挤出来的. 魔塔天城使用的cocos2dx ...

  3. 求int型正整数在内存中存储时1的个数

    题目描述: 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数. 输入描述: 输入一个整数(int类型) 输出描述: 这个数转换成2进制后,输出1的个数 输入例子: 5 输出例子: ...

  4. swift -- 构造/析构函数

     一.构造函数 //当一个类实例化一个对象时候,第一个调用的方法 class Student { //属性 var name = "ser" let age : Int //1.重 ...

  5. SEO-外部链接类型以及标准

    外部链接 外链的作用:宣传你的网站 相信大家都听过"内链为王,外链为皇"这句话,不管这句话对不对,从这句话上面,我们都能体会到外链的重要性. 外链类型: 1.博客 2.论坛 3.分 ...

  6. adt的问题An internal error has occurred. After scene creation, #init() must be called

    这个问题困扰了我好久,我也尝试去百度.google无济于事啊,让我寝食难安,太难受了,我把它贴出来,希望后人不绕弯子... 解决办法: 即可,解决这一个问题,现在酣畅淋漓,挥洒自如的capy代码了

  7. 开源免费的.NET图像即时处理的组件ImageProcessor

    承接以前的组件系列,这个组件系列旨在介绍.NET相关的组件,让大家可以在项目中有一个更好的选择,社区对于第三方插件的介绍还是比较少的,很多博文的内容主要还是介绍一些简单的操作(很多人都说博客园现在是“ ...

  8. 深入浅出数据结构C语言版(1)——什么是数据结构及算法

    在很多数据结构相关的书籍,尤其是中文书籍中,常常把数据结构与算法"混合"起来讲,导致很多人初学时对于"数据结构"这个词的意思把握不准,从而降低了学习兴趣和学习信 ...

  9. CodeBlocks常用重要快捷键大全!!

    CodeBlocks常用操作快捷键 编辑部分: Ctrl + A:全选 Ctrl + C:复制 Ctrl + X: 剪切 Ctrl + V:粘贴 Ctrl + Z:撤销(后退一步) Ctrl + S: ...

  10. JavaScript作用域链和垃圾回收机制

    作用域链 基本概念: 在了解作用域链和内存之前,我们先了解两个概念,分别是执行环境和变量对象. 执行环境:定义变量或者函数有权访问的其他数据,决定了它们各自的行为.每个对象都有自己的执行环境. 变量对 ...