是否可以将Atom从一台Mac复制到另一台Mac,包括所有已安装的软件包,设置等?
答案 0 :(得分:105)
有几种方法可以在Atom安装之间同步您的设置和包:
Git:创建一个公共或私有Git仓库,并将当地~/.atom
文件夹的内容存储在那里。忽略.gitignore
文件中的以下文件/目录:
storage
compile-cache
dev
.npm
.node-gyp
使用sync-settings之类的套餐。这会将您的配置存储在GitHub Gist中。
Dropbox(或类似):将您的~/.atom
文件夹移动到Dropbox文件夹,然后将其符号链接到其原始位置。这有助于同步~/.atom
中的所有内容,甚至是您可以忽略的内容。
使用明星选择您喜欢的套餐。在Atom网站上,创建一个帐户并用星星标记您喜欢的包裹。然后使用apm stars --install
在任何计算机上安装所有已加星标的软件包。缺点:这仅适用于包装,不适用于设置。
更多详情:
答案 1 :(得分:21)
作为使用RCM等点文件管理系统的用户,我更喜欢独立的配置文件。
目前,Atom还没有正式提供packages.cson
文件来管理插件,但正如Syncing settings & packages between machines提到的那样,有一个名为package-sync的插件会生成一个packages.cson
档案给我们。
所以在package-sync的帮助下,现在我可以同步这些mininal配置文件,让我的Atom设置和包在多台机器上保持一致。
这是怎么做的(以ubuntu为例):
打开命令pallete并输入:Create Package List
,packages.cson
文件夹下会有一个~/.atom
文件。
编辑gitignore文件:
$ gedit~ / .atom / .gitignore
确保内容为:
blob-store
compile-cache
dev
storage
.node-gyp
.npm
.apm
packages/
atom-shell/
这可以确保Atom从Internet下载的内容不会同步到您的dotfiles仓库。
将.atom
文件夹移至dotfile repo:
$ mv~ / .atom~ / dotfiles / tag-atom / atom
重新链接文件夹:
$ ln -s~ / dotfiles / tag-atom / atom~ / .atom
或者如果您安装了rcm:
$ rcup
现在转到另一台计算机,然后安装Atom和程序包同步。更新您的dotfiles仓库,然后打开Atom命令pallete并输入:sync
现在,您的Atom设置将与RCM dotilfe管理系统同步并集成。
答案 2 :(得分:6)
我最近构建了一个程序包,可以在多台计算机上自动同步Atom设置和程序包。有点像谷歌浏览器中的书签同步机制。它被称为atom-package-sync。也许它可以满足你的需求。
答案 3 :(得分:3)
.atom文件夹包含packages文件夹,它可能相当庞大。不幸的是OneDrive不允许你排除文件夹,所以我选择了git选项。
我从git中排除了包,而是提交了一个包含我的包(my-packages.txt
)的文本文件。
要重新安装我需要运行的软件包:apm install --packages-file my-packages.txt
。
要生成my-packages.txt
,我需要在Bash shell上使用这样的内容:ls packages | xargs -n 1 echo | cut -d/ -f1 > my-packages.txt
答案 4 :(得分:1)
您可以通过package-list.txt
文件和简单的shell脚本来同步您的软件包。
apm list --installed --bare > package-list.txt
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
答案 5 :(得分:0)
我使用Resilio Sync Home在Windows,macOS和Linux计算机之间同步我的Atom设置。它是免费的,文件不会保存在“云”上(如Dropbox或Gists),但它要求至少有两台机器在线才能同步当前设置。
我不想同步缓存,安装特定设置等,我更新在同步目录(即.sync/IgnoreList
目录)中创建的~/.atom
文件。不幸的是,您必须在同步的每台计算机上更新此项(具有讽刺意味的是,IgnoreList
文件未同步)。默认情况下,该文件指定要从同步中省略的各种临时文件,因此您需要添加以下内容:
## Atom-specific
/packages/node-debugger/debugger.log
\packages\node-debugger\debugger.log
/.apm
\.apm
/.node-gyp
\.node-gyp
/.npm
\.npm
/blob-store
\blob-store
/compile-cache
\compile-cache
/dev
\dev
/recovery
\recovery
/split-diff
\split-diff
/storage
\storage
一些省略的目录是特定于包的(例如,split-diff)。由于Windows具有与其他平台不同的路径分隔符,因此我需要同时指定(!!)
.atom
目录添加到要同步的Resilio。IgnoreList
文件,如上所示。将此文件保存为要与其同步的其他计算机。 然后在你的其他机器上,
.atom/.sync
IgnoreList
从第一台计算机复制到该目录.atom
目录。您应该使用“输入密钥或链接”添加文件夹,然后在上面输入您复制的密钥。 现在我不需要在每台机器上单独安装/删除软件包了!
仅供参考:如果您需要恢复,文件和目录的更改会在.sync/Archive
中保存一段时间。