This repository has been archived by the owner on Aug 15, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 180
spm 2, 3 共存方案
afc163 edited this page Jan 18, 2016
·
17 revisions
由于 2 和 3 将会共存一段时间,而直接通过 $ npm install spm -g
安装 3 会覆盖原来的 2,所以这里提供一个方案,在不影响 2 使用的基础上安装 3 。
git clone https://github.com/spmjs/spm ~/.spm3
cd ~/.spm3
cnpm install
ln -sf `pwd`/bin/spm /usr/local/bin/spm3
至此,spm -V
应该是 2,spm3 -V
应该是 3 。
上面的方案是在不影响 spm2 的情况下,安装 spm3,因此 spm -V
== 2.x,而 spm3 -V
== 3.x
但是对于多数情况下使用 spm3 的用户, @hotoo 我个人推荐倒过来,默认的 spm -V
== 3.x,而 spm2 -V
== 2.x,更多的,spm3 -V
== 3.x
git clone -b 2.x --depth 1 https://github.com/spmjs/spm ~/.spm2
cd ~/.spm2
npm install
ln -sf `pwd`/bin/spm /usr/local/bin/spm2
npm install spm -g
ln -sf /usr/local/bin/spm /usr/local/bin/spm3
然后你可以修改使用 spm2 的仓库的 Makefile 了。
注意:这个方案暂时可能不适合安装和使用 apm 的同学。
Windows下通过clone安装需要自己编写下cmd脚本,把spm3加到PATH环境变量中(假设也是clone到当前用户根目录的.spm3目录,在.spm3/bin目录下将spm更名为spm3,新建spm3.cmd文件,输入以下内容)
@echo off
set NODE_PATH=C:%HOMEPATH%\.spm3\node_modules
@echo on
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\spm3" %*
) ELSE (
node "%~dp0\spm3" %*
)
原有的其他插件和子命令可以保持原来的用法。比如 init:
-
在 spm2 模块中使用。
$ spm init
-
在 spm3 模块中使用。
$ spm3 init
结论是 spm-status 不再升级,去掉。
spm-deploy 的 1.x 版本只对 spm3 项目进行兼容,需要安装旧版 spm deploy 的就运行 npm install [email protected] -g
。不再提供共存方案。
后续内部用户对 dist 文件部署的需求,推荐使用浩初的 alipay-static 来进行。