如何 share/transfer 一个 Atom 安装(包和设置)从一个 Mac 到另一个?
How to share/transfer an Atom installation (packages and settings) from one Mac to another?
是否可以将 Atom 从一个 Mac 复制到另一个,包括所有已安装的软件包、设置等?
有几种方法可以在 Atom 安装之间同步您的设置和包:
Git:创建一个 public 或私有 Git 存储库并将本地 ~/.atom
文件夹的内容存储在其中。忽略 .gitignore
文件中的以下 files/directories:
storage
compile-cache
dev
.npm
.node-gyp
使用像 sync-settings 这样的包。这会将您的配置存储在 GitHub Gist 中。
Dropbox(或类似):将您的 ~/.atom
文件夹移动到您的 Dropbox 文件夹,然后将其从那里符号链接到其原始位置。这样做的缺点是会同步 ~/.atom
中的所有内容,甚至是您可以忽略的内容。
使用 星级 到 select 您最喜欢的套餐。在 Atom 网站上,创建一个帐户并用星标标记您最喜欢的包。然后使用 apm stars --install
在任何机器上安装所有加星标的包。缺点:这仅适用于包,不适用于设置。
更多详情:
作为使用点文件管理系统(例如RCM)的用户,我更喜欢独立的配置文件。
目前Atom官方并没有提供packages.cson
文件来管理插件,但是作为postSyncing settings & packages between machines mentioned, there is a plugin called package-sync会为我们生成一个packages.cson
文件.
所以在 package-sync 的帮助下,现在我可以同步那些最小的配置文件,让我的 Atom 设置和包在多台机器上保持一致。
操作方法如下(以ubuntu为例):
- 安装Atom,通过Edit-->Preferences-->Install安装package-sync 如屏幕截图所示:
打开你的命令面板并输入:Create Package List
然后你的~/.atom
文件夹下会有一个packages.cson
文件。
编辑 gitignore 文件:
$ gedit ~/.atom/.gitignore
确保内容是:
blob-store
compile-cache
dev
storage
.node-gyp
.npm
.apm
packages/
atom-shell/
这是 .gitignore
文件的屏幕截图:
这可以确保 Atom 从 Internet 下载的内容不会同步到您的 dotfiles 存储库。
将 .atom
文件夹移至点文件存储库:
$ mv ~/.atom ~/dotfiles/tag-atom/atom
重新链接文件夹:
$ ln -s ~/dotfiles/tag-atom/atom ~/.atom
或者如果你安装了 rcm:
$rcup
现在转到另一台机器,安装 Atom 和包同步。更新您的点文件存储库,然后打开您的 Atom 命令面板并键入:sync
现在您的 Atom 设置将与 RCM dotilfe 管理系统同步并集成。
这是我的 ~/.atom
文件夹中同步的文件:
.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
我最近构建了一个包,可以在多台计算机上自动同步您的 Atom 设置和包。有点像GoogleChrome中的书签同步机制。它被称为atom-package-sync。也许它能满足您的需求。
我使用 Resilio Sync Home 在 Windows、macOS 和 Linux 机器之间同步我的 Atom 设置。它是免费的,文件不会保存在 "cloud" 上(如 Dropbox 或 Gists),但它至少需要两台机器在线才能同步当前设置。
我不想同步缓存、安装特定设置等,我更新了在同步目录(即 ~/.atom
目录)中创建的 .sync/IgnoreList
文件。不幸的是,您必须在同步的每台计算机上更新此文件(具有讽刺意味的是,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 与其他平台有不同的路径分隔符,所以我需要同时指定 (!!)
- 在你的第一台机器上安装 Resilio Sync Home
- 将
.atom
目录添加到要同步的 Resilio。
- 更新其
IgnoreList
文件,如上所示。为您要与之同步的其他机器保存此文件。
- 将该文件夹的 Resilio "Read & Write" link 发送到您要与之同步的其他机器或复制 "Read & Write" 密钥以在其他机器上使用。为此,在 Resilio 的文件夹视图中,单击 .atom 文件夹的菜单(右边缘的垂直点)和 select "Copy Read & Write key"。保存以备后用。
然后在你的其他机器上,
- 安装 Resilio 同步主页
- 创建
.atom/.sync
- 将
IgnoreList
从您的第一台机器复制到该目录
- 添加
.atom
目录与另一台机器同步。您应该使用 "Enter key or link," 添加文件夹,然后输入上面复制的密钥。
- 等到同步完成后再打开 Atom。第一次将可能需要几分钟。
现在我不需要在每台机器上分别检查 installing/removing 个包!
仅供参考:文件和目录的更改会保存在 .sync/Archive
中一段时间,如果您需要恢复它们。
您可以通过 package-list.txt
文件和一个简单的 shell 脚本同步您的包。
创建包-list.txt文件
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
是否可以将 Atom 从一个 Mac 复制到另一个,包括所有已安装的软件包、设置等?
有几种方法可以在 Atom 安装之间同步您的设置和包:
Git:创建一个 public 或私有 Git 存储库并将本地
~/.atom
文件夹的内容存储在其中。忽略.gitignore
文件中的以下 files/directories:storage compile-cache dev .npm .node-gyp
使用像 sync-settings 这样的包。这会将您的配置存储在 GitHub Gist 中。
Dropbox(或类似):将您的
~/.atom
文件夹移动到您的 Dropbox 文件夹,然后将其从那里符号链接到其原始位置。这样做的缺点是会同步~/.atom
中的所有内容,甚至是您可以忽略的内容。使用 星级 到 select 您最喜欢的套餐。在 Atom 网站上,创建一个帐户并用星标标记您最喜欢的包。然后使用
apm stars --install
在任何机器上安装所有加星标的包。缺点:这仅适用于包,不适用于设置。
更多详情:
作为使用点文件管理系统(例如RCM)的用户,我更喜欢独立的配置文件。
目前Atom官方并没有提供packages.cson
文件来管理插件,但是作为postSyncing settings & packages between machines mentioned, there is a plugin called package-sync会为我们生成一个packages.cson
文件.
所以在 package-sync 的帮助下,现在我可以同步那些最小的配置文件,让我的 Atom 设置和包在多台机器上保持一致。
操作方法如下(以ubuntu为例):
- 安装Atom,通过Edit-->Preferences-->Install安装package-sync 如屏幕截图所示:
打开你的命令面板并输入:
Create Package List
然后你的~/.atom
文件夹下会有一个packages.cson
文件。编辑 gitignore 文件:
$ gedit ~/.atom/.gitignore
确保内容是:
blob-store compile-cache dev storage .node-gyp .npm .apm packages/ atom-shell/
这是
.gitignore
文件的屏幕截图:这可以确保 Atom 从 Internet 下载的内容不会同步到您的 dotfiles 存储库。
将
.atom
文件夹移至点文件存储库:$ mv ~/.atom ~/dotfiles/tag-atom/atom
重新链接文件夹:
$ ln -s ~/dotfiles/tag-atom/atom ~/.atom
或者如果你安装了 rcm:
$rcup
现在转到另一台机器,安装 Atom 和包同步。更新您的点文件存储库,然后打开您的 Atom 命令面板并键入:
sync
现在您的 Atom 设置将与 RCM dotilfe 管理系统同步并集成。
这是我的 ~/.atom
文件夹中同步的文件:
.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
我最近构建了一个包,可以在多台计算机上自动同步您的 Atom 设置和包。有点像GoogleChrome中的书签同步机制。它被称为atom-package-sync。也许它能满足您的需求。
我使用 Resilio Sync Home 在 Windows、macOS 和 Linux 机器之间同步我的 Atom 设置。它是免费的,文件不会保存在 "cloud" 上(如 Dropbox 或 Gists),但它至少需要两台机器在线才能同步当前设置。
我不想同步缓存、安装特定设置等,我更新了在同步目录(即 ~/.atom
目录)中创建的 .sync/IgnoreList
文件。不幸的是,您必须在同步的每台计算机上更新此文件(具有讽刺意味的是,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 与其他平台有不同的路径分隔符,所以我需要同时指定 (!!)
- 在你的第一台机器上安装 Resilio Sync Home
- 将
.atom
目录添加到要同步的 Resilio。 - 更新其
IgnoreList
文件,如上所示。为您要与之同步的其他机器保存此文件。 - 将该文件夹的 Resilio "Read & Write" link 发送到您要与之同步的其他机器或复制 "Read & Write" 密钥以在其他机器上使用。为此,在 Resilio 的文件夹视图中,单击 .atom 文件夹的菜单(右边缘的垂直点)和 select "Copy Read & Write key"。保存以备后用。
然后在你的其他机器上,
- 安装 Resilio 同步主页
- 创建
.atom/.sync
- 将
IgnoreList
从您的第一台机器复制到该目录 - 添加
.atom
目录与另一台机器同步。您应该使用 "Enter key or link," 添加文件夹,然后输入上面复制的密钥。 - 等到同步完成后再打开 Atom。第一次将可能需要几分钟。
现在我不需要在每台机器上分别检查 installing/removing 个包!
仅供参考:文件和目录的更改会保存在 .sync/Archive
中一段时间,如果您需要恢复它们。
您可以通过 package-list.txt
文件和一个简单的 shell 脚本同步您的包。
创建包-list.txt文件
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