如何将Atom安装(包和设置)从一台Mac共享/转移到另一台?

bra*_*ray 62 atom-editor

是否可以将Atom从一台Mac复制到另一台Mac,包括所有已安装的软件包,设置等?

nwi*_*ler 110

有几种方法可以在Atom安装之间同步您的设置和包:

  • Git:创建一个公共或私有Git仓库并~/.atom在那里存储本地文件夹的内容.忽略文件中的以下文件/目录.gitignore:

    storage
    compile-cache
    dev
    .npm
    .node-gyp
    
    Run Code Online (Sandbox Code Playgroud)
  • 使用像sync-settings这样的包.这会将您的配置存储在GitHub Gist中.

  • Dropbox(或类似):将~/.atom文件夹移动到Dropbox文件夹,然后将其从符号链接到其原始位置.这具有将所有内容同步的缺点~/.atom,即使是您可以忽略的内容.

  • 使用星星选择您喜欢的包裹.在Atom网站上,创建一个帐户并用星星标记您喜欢的包裹.然后使用apm stars --install在任何机器上安装所有已加星标的包.缺点:这仅适用于包,不适用于设置.

更多细节:

  • 第三种选择 - 使用星星 - 工作正常.如果它是在Atom编辑器中构建的话会很棒:登录并能够同步已安装和已启动的软件包. (3认同)
  • 我刚刚安装了Atom`1.11.2`并生成了包含所有上述内容的〜/ .atom/.gitignore`以及更多内容.:) (3认同)
  • 考虑到用户 `uderId` 的 ID 在那里,在公共 git 存储库中提交 config.cson 文件有多安全? (2认同)

Hus*_*ion 21

作为使用RCM等点文件管理系统的用户,我更喜欢独立的配置文件.

目前,Atom没有正式提供packages.cson管理插件的文件,但作为提到的机器之间的同步设置和软件包,有一个名为package-sync的插件将为packages.cson我们生成一个文件.

所以在package-sync的帮助下,现在我可以同步这些mininal配置文件,让我的Atom设置和包在多台机器上保持一致.

这是怎么做的(以ubuntu为例):

  1. 安装Atom,并通过- > - > 安装package-sync,如屏幕截图所示: EditPreferencesInstall安装package-sync
  2. 打开命令pallete并键入:Create Package List并且packages.cson文件~/.atom夹下将有一个文件. 打开命令调色板 创建包列表

  3. 编辑gitignore文件:

    $ gedit~/.atom/.gitignore

    确保内容为:

    blob-store compile-cache dev storage .node-gyp .npm .apm packages/ atom-shell/

    这是该.gitignore文件的屏幕截图: 的.gitignore

    这可以确保Atom从Internet下载的内容不会同步到您的dotfiles仓库.

  4. .atom文件夹移动到dotfile repo:

    $ mv~/.atom~/dotfiles/tag-atom/atom

  5. 重新链接文件夹:

    $ ln -s~/dotfiles/tag-atom/atom~/.atom

    或者如果你安装了rcm:

    $ rcup

  6. 现在转到另一台计算机,并安装Atom和程序包同步.更新dotfiles repo,然后打开Atom命令pallete并键入:sync

现在,您的Atom设置将与RCM dotilfe管理系统同步并集成.

这是我~/.atom同步的文件夹中的文件: 同步文件


Mat*_*hew 6

我最近构建了一个程序包,可以在多台计算机上自动同步Atom设置和程序包.有点像谷歌浏览器中的书签同步机制.它叫做atom-package-sync.也许它可以满足您的需求.

在此输入图像描述


cmc*_*nty 6

您可以通过package-list.txt文件和简单的 shell 脚本同步您的包。

创建 package-list.txt 文件

apm list --installed --bare > package-list.txt
Run Code Online (Sandbox Code Playgroud)

在另一台主机上安装缺少的包

BASEDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
INSTALLEd_PKGS=$(apm list --installed --bare)
for PKG in $(cut -f1 -d@ $BASEDIR/package-list.txt); do
    grep -q $PKG <<< $INSTALLEd_PKGS || apm install $PKG
done
Run Code Online (Sandbox Code Playgroud)