原文地址:https://blog.csdn.net/litianquan/article/details/82735809

Scratch www要基于Nodejs的环境才可以运行,我尝试了在Windows、Ubuntu、CentOS等操作系统上安装其环境,安装node环境比较简单,但是不同系统在编译代码方面问题较多,在Windows上必须要有Microsoft Visual Studio环境,Ubuntu上面又相关依赖又有点不同。最终,在CentOS上搭建成功,现将搭建步骤记录如下:

、环境准备

1、安装配合软件

因为代码需要编译,所以要提前将所需要的几个组件进行安装。

  • git(从github上获取代码)
  • python(有些Nodejs模块需要用到python)
  • gcc(在编译的时候会用到)
  • gcc-c++(在编译的时候会用到)
  • openssl-devel(在编译的时候会用到)
  • make(在编译工具)

执行下列代码:

yum -y install git gcc gcc-c++ openssl-devel make python
 

2、使用curl下载并安装nodejs yum源

搭建Nodejs环境方式有很多,比如下载包或用yum安装等,我是使用yum安装。在安装之前要指定Nodejs的源。

curl --silent --location https://rpm.nodesource.com/setup_7.x | bash -

二、Nodejs安装

1、执行命令安装node

yum install -y nodejs
 

注:这里面的版本不需要指定,它是根据上一步中指定的源,如果用6.x的源,就会安装6系列的最新版。

2、测试安装是否成功

node -v

# v6.9.1

npm -v

# v3.10.8

注:node安装完成之后,会将node和npm自动设置成服务。但是node自带npm不一定是最新版本,可以使用下列命令,升级npm。

npm i npm -g
 

、scratch www 安装

1、安装准备

按照scratch github上说明,原则上是不需要进行提前准备,但是在编译过程中会提示一些信息,例如下列信息。为了避免错误,总结之前的安装过程,可以讲一些模块提前进行安装。

  1. npm WARN prefer global i18next-conv@2.5.0 should be installed with -g
  2. npm WARN prefer global jshint@2.9.4 should be installed with -g
  3. npm WARN prefer global node-gyp@3.4.0 should be installed with -g

(1)webpack

npm install webpack -g
 

(2)其他辅助

  1. npm install i18next-conv -g
  2. npm install jshint -g
  3. npm install node-gyp -g

2、获取工程代码

执行下列命令:

git clone https://github.com/LLK/scratch-www.git
 

注:代码检出之后会自动创建scratch-www目录

3、Build代码

(1)进入目录

cd scratch-www
 

(2)安装node-sass

正常情况下,在执行install命令时,会自动安装node-sass依赖。但是在实际过程中,自动下载和编译node-sass经常会出错,即使手动安装的node-sass也会出错。在我的安装过程中,我使用的是从阿里库中编译好的node-sass,执行下列命令:

  1. npm install -g cnpm --registry=https://registry.npm.taobao.org
  2. cnpm install node-sass@3.11.2

注:默认安装的node-sass版本是3.3.3,我安装的是最新版本。

(3)Build scratch

分别执行下列命令:

  1. npm install
  2. npm run build

(4)运行

如果在build过程中没出现什么错误,编译成功之后就可以通过下列命令,运行scratch www。

npm start
 

注:以上命令均需要在scratch-www目录下执行。

如果屏幕上显示出正常启动了8333端口。那么就可以通过浏览器访问了。

四、作为服务运行

node应用通过npm来执行,但是每次执行都需要一直保持,一旦关闭当前Terminal,程序就将终止。为了保持程序持续运行,可以使用forever

(1)安装forever

npm install forever -g
 

(2)进入应用目录运行程序

forever start app.js
 

也可以通过下面的方式运行:

forever start -c "npm start" ./
 

可以通过下面命令查看正在运行的应用:

forever list
 

Scratch www 系统搭建的更多相关文章

  1. 基于Spring+SpringMVC+Mybatis的Web系统搭建

    系统搭建的配置大同小异,本文在前人的基础上做了些许的改动,重写数据库,增加依据权限的动态菜单的实现,也增加了后台返回json格式数据的配置,详细参见完整源码. 主要的后端架构:Spring+Sprin ...

  2. Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)

    Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...

  3. 【web】 亿级Web系统搭建——单机到分布式集群

      当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架 ...

  4. WIN7 64位系统搭建WINCE6.0系统遇到的问题

    WIN7 64位系统搭建WINCE6.0系统遇到的问题 安装顺序如下: .先装Visual Studio2005: .安装Visual Studio2005 Service Pack 1: .安装Vi ...

  5. Unity + iBatis + Asp.net Mvc 系统搭建

    Unity + iBatis + Asp.net Mvc 系统搭建 之前用EntityFramework Code First做了一些小项目,很是方便:后来在一个 Java 项目中接触了myBatis ...

  6. [转]亿级Web系统搭建:单机到分布式集群

    当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要在Web系统架构层 ...

  7. 性能测试五十:Jmeter+Influxdb+Grafana实时数据展示系统搭建

    如果用生成jtl文件再分析结果的方式的话,每一次请求就会往jtl里面写一条数据,在进行长时间的稳定性测试的时候,特别是当TPS很高的时候,写入的数据会非常的大,这个时候等稳定性测试完成,再对jtl进行 ...

  8. Ubuntu系统搭建SVN服务器

    Ubuntu系统搭建SVN服务器 参考地址:http://git.devzeng.com/blog/aliyun-ubuntu-svn-server.html 安装软件 依次在终端中执行下面的命令安装 ...

  9. [转]Linux 微擎系统搭建

    本文转自:https://www.cnblogs.com/voidking/p/5296552.html 前言 时隔一年半,再次接触微信公众平台开发.相比于掌上大学.圈里.微站ABC.图灵机器人.小i ...

随机推荐

  1. 【chrome】设置chrome允许WebGL从本地载入资源

    找到chrome安装路径,然后创建一个快捷方式,右击该快捷方式,在 目标 输入框中加上-allow-file-access-from-files(前面加个空格),通过该快捷方式打开chrome就可以通 ...

  2. 【es6】js原生的promise

    JavaScript 是单线程的,这意味着任何两句代码都不能同时运行,它们得一个接一个来.在浏览器中,JavaScript 和其他任务共享一个线程,不同的浏览器略有差异,但大体上这些和 JavaScr ...

  3. 029-FastDFSClient工具栏模板

    模板一: package cn.e3mall.common.utils; import org.csource.common.NameValuePair; import org.csource.fas ...

  4. Linux下设置Tomcat开机启动

    1.进入/etc/rc.d/init.d,新建文件tomcat,并让它成为可执行文件 chmod 755 tomcat. #!/bin/bash # # /etc/rc.d/init.d/tomcat ...

  5. 公司Git实用记录

    一.git命令名词解释 1.添加/跟踪/暂存:添加到本地索引 git add 文件名 2.提交:提交到本地仓库 git commit -m '注释' 3.推送:将提交到本地仓库的所有更新提交到服务器 ...

  6. PTA (Advanced Level) 1020 Tree Traversals

    Tree Traversals Suppose that all the keys in a binary tree are distinct positive integers. Given the ...

  7. word转pdf(使用office)

    1.安装office软件 2.在vs中写代码 注意需要引入 Microsoft.Office.Interop.Word插件 /// <summary> /// 将word转换成pdf文件 ...

  8. 您必须先调用“WebSecurity.InitializeDatabaseConnection”方法,然后再调用"WebSecurity"类的任何其他方法。

    今天调试程序的时候出现了这个是,可惜没截图! 您必须先调用“WebSecurity.InitializeDatabaseConnection”方法,然后再调用"WebSecurity&quo ...

  9. groovy类、构造函数、方法

    数据类型:groovy支持Java语言规范定义的数据类型 类:与Java类的主要区别 1.没有可见修饰符的类或者方法是自动公开的 2.类不需要与源文件定义相同名称,但是默认规定定义一样 3.一个源文件 ...

  10. EF框架CodeFirst the model backing the 'PModelEntities' context has changed since the database was created. Consider using Code First Migrations to update the database

    1.采用code first 做项目时,数据库已经生成,后期修改数据库表结构.再次运行时出现一下问题: Entity Framework : The model backing the 'Produc ...