https://wiki.archlinux.org/api.php?action=feedcontributions&user=%E8%8C%83&feedformat=atom
ArchWiki - User contributions [en]
2024-03-28T11:25:42Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=Ruby_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=478384
Ruby (简体中文)
2017-05-27T02:12:41Z
<p>范: /* Bundler */</p>
<hr />
<div>[[Category:Programming languages (简体中文)]]<br />
[[en:Ruby]]<br />
[[ja:Ruby]]<br />
{{TranslationStatus (简体中文)|Ruby|2013-04-30|255724}}<br />
<br />
Ruby 是一门专注于简洁和生产里的动态语言, 是解释型语言, 开源编程语言.<br />
<br />
== 安装 Ruby ==<br />
按照需要来选择安装 Ruby 的版本. 为了支持遗留下来的软件, 必要时请安装 Ruby 1.9 甚至 1.8. 开展新项目建议 Ruby 2.0 .以下是一个概要, 关于当前有的版本和如何获取.<br />
<br />
=== Ruby 2.0 ===<br />
要安装 Ruby 2.0.0, 安装 {{Pkg|ruby}} 这个包. Ruby 2.0 包含了 [[#RubyGems]].<br />
<br />
=== Ruby 1.9 ===<br />
要从 [[AUR]] 安装 Ruby 1.9.3, 安装 {{AUR|ruby1.9}}. Ruby 1.9 包含了 RubyGems.<br />
<br />
=== 多版本 ===<br />
如果你要在同一个系统安装多个版本 (比如 2.0.0-p0 和 1.9.3-p392), 最简单的办法时安装 [[RVM]] 或者 [[rbenv]].<br />
<br />
== RubyGems ==<br />
''gem'' 是 Ruby 模块 (叫做 Gems) 的包管理器, 某种程度上是 [[pacman]] 相对于 Arch Linux 的角色. ''gem'' 命令你可以通过遵循上边的操作来得到.<br />
<br />
=== 用例 ===<br />
查看已安装有那些 gem:<br />
$ gem list<br />
<br />
获取某个 gem 的详细信息:<br />
$ gem spec <gem_name><br />
<br />
默认情况下, {{ic|gem list}} 和 {{ic|gem spec}} 开启了 {{ic|--local}} 选项, 导致 ''gem'' 只会在本地系统里进行搜索. 这可以用 {{ic|--remote}} 参数来覆盖. 这样子以后, 来搜索一个 mysql gem:<br />
$ gem list --remote mysql<br />
<br />
安装一个 gem:<br />
$ gem install mysql<br />
<br />
安装过程可以加快一点, 如果你不需要本地的文档的话:<br />
$ gem install mysql --no-rdoc --no-ri<br />
<br />
更新所有已安装的 gem:<br />
$ gem update<br />
<br />
=== 普通用户身份运行 ===<br />
作为普通用户安装 ''gem'' 的时候, gem 默认被安装在 {{ic|~/.gem}} 而不是在系统全局. 这在 Arch 上被认为是做回的管理 gem 的方案. 不巧的是并非所有 gem 都乐意被安装在这, 甚至可能坚持要以 root 身份安装, 特别是模块含有本地扩展(从 C 编译的代码). 每个用户的方案被配置在 {{ic|/etc/gemrc}} 文件里, 可以通过配置 {{ic|~/.gemrc}} 文件来改变.<br />
<br />
为了使用一些安装了可执行文件的 gem, 需要把 {{ic|$(ruby -e 'print Gem.user_dir')/bin}} 添加到你的 {{ic|$PATH}} 环境变量里.如果以上命令无法生效, 可以使用下面命令代替:<br />
<br />
#Setting the GEM_PATH and GEM_HOME variables may not be necessary, check 'gem env' output to verify whether both variables already exist <br />
GEM_HOME=$(ls -t -U | ruby -e 'puts Gem.user_dir')<br />
GEM_PATH=$GEM_HOME<br />
export PATH=$PATH:$GEM_HOME/bin<br />
<br />
<br />
=== 以 root 身份运行 ===<br />
以 root 身份运行时 gem 会被安装在 {{ic|/root/.gems}}, 而且'''不会'''被安装到 {{ic|/usr/lib/ruby/gems/}}.<br />
<br />
{{注意|访问 bug #[https://bugs.archlinux.org/task/33327 33327] 查看更多信息.}}<br />
<br />
[[Ruby#Bundler|Bundler]] 通过把模块打包到你的项目目录, 一定程度上解决了这些问题. 细节看下面关于使用 bundler.<br />
<br />
=== Bundler ===<br />
[http://github.com/carlhuda/bundler Bundler] 帮助你指定你的项目需要使用哪些 gem, 还有可选地指定哪个版本被需要. 当声明恰当时, Bundler 会安装所有依赖的 gem (包括整个依赖树), 后期检查之后还会打印出 log. Bundler 默认是安装 gem 到一个共享的路径, 不过也可以指定直接安装到你的应用. 当你项目运行的时候, Bundler 就提供每个 gem 正确的版本, 即便安装的 gem 其实有多个版本. 这需要有一点工作: 应用需要以 {{ic|bundle exec}} 命令运行, 还有两行的 boilerplate 代码要被写在你的应用的可执行文件里.<br />
<br />
安装 Bundler:<br />
$ gem install bundler<br />
<br />
Bundler 默认把 gem 安装在系统全局, 这跟 Arch 上处理 ''gem'' 的方案正好相反. 纠正的办法的话, 添加下面的配置到你的 {{ic|~/.bashrc}}:<br />
export GEM_HOME=~/.gem/ruby/2.0.0<br />
<br />
新建一个 bundle:<br />
$ bundle init<br />
<br />
然后编辑当前目录 (gem init 执行的目录)下的 {{ic|Gemfile}} 添加你需要的 gem:<br />
<br />
{{hc|Gemfile|<br />
gem "rails", "3.2.9"<br />
gem "mysql"<br />
}}<br />
<br />
运行下面的命令安装需要的 gem 到 {{ic|GEM_HOME}}:<br />
$ bundle install<br />
<br />
或者作为可选方案, 运行下面的命令把 gem 安装到工作路径的 {{ic|.bundle}}:<br />
$ bundle install --path .bundle<br />
<br />
别忘了要编辑你主要的执行文件:<br />
{{bc|#!/usr/bin/env ruby<br />
<br />
# "This will automatically discover your Gemfile, and make all of the gems in<br />
# your Gemfile available to Ruby." http://gembundler.com/v1.3/rationale.html<br />
require 'rubygems'<br />
require 'bundler/setup'<br />
<br />
...<br />
}}<br />
<br />
最后运行你的程序:<br />
{{bc|bundle exec <main_executable_name.rb>}}<br />
<br />
== 用 pacman 管理 RubyGems ==<br />
<br />
除了用 {{ic|gem}} 命令管理 gem, 也可以用 {{ic|pacman}}, 或者一些 [[AUR]] 帮助工具. Ruby 模块遵循这样的命名惯例 ruby-[gemname]. 这个方案提供了以下的优点:<br />
<br />
* Gems 和你系统其他部分一样被升级. 这样你就不用去运行 {{ic|gem update}}: 运行 {{ic|pacman -Syu}} 足够了.<br />
* 已安装的 gem 在全系统可用, 而不是只有安装了这些 gem 的用户.<br />
<br />
如果 gem 在仓库里没有, 你可以用 {{AUR|pacgem}} 自动创建一个, 这个模块接下来就能直接用 pacman 来安装.<br />
<br />
== 又见 ==<br />
* [[Ruby on Rails]]<br />
<br />
== 引用 ==<br />
* Ruby - http://ruby-lang.org/<br />
* Rubyforge - http://rubyforge.org<br />
* Bundler - http://github.com/carlhuda/bundler</div>
范
https://wiki.archlinux.org/index.php?title=XX-Net_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=477359
XX-Net (简体中文)
2017-05-16T00:42:16Z
<p>范: </p>
<hr />
<div>[[Category:Networking (简体中文)]]<br />
==下载链接:==<br />
测试版: https://codeload.github.com/XX-net/XX-Net/zip/2.0.6<br />
<br />
稳定版: https://codeload.github.com/XX-net/XX-Net/zip/2.0.6<br />
<br />
(1.13.6 之前的用户,请重新部署服务端)<br />
<br />
版本历史和说明: https://github.com/XX-net/XX-Net/releases<br />
<br />
==主要特性==<br />
<br />
*大量改良过的GoAgent 稳定快速<br />
*Web界面,傻瓜易用<br />
*内置了公共 appid,便新手<br />
*自动导入证书,减少大量手动工作<br />
*可设置开机启动<br />
*支持自动升级,保留辛苦找到的ip资源<br />
<br />
==XX-Net不是匿名工具==<br />
详情请看:https://github.com/XX-net/XX-Net/wiki/Anonymous-and-Security<br />
<br />
==平台支持情况==<br />
<br />
*Windows XP (需要 tcpip.sys 补丁, 比如用 tcp-z)<br />
*Win7/8/10<br />
*Ubuntu (不显示系统托盘)<br />
*Debian (debian 8 php_proxy无法工作)<br />
*Mac OS X(10.7; 10.8; 10.9; 10.10)<br />
<br />
==链接==<br />
*https://github.com/XX-net/XX-Net/issues 问题报告<br />
*https://groups.google.com/forum/#!forum/xx-net 讨论群<br />
*Email:xxnet.dev at gmail.com<br />
<br />
==使用方法==<br />
<br />
;Windows下, 双击 start.lnk/start.vbs<br />
:启动弹出浏览器: 访问 http://localhost:8085/<br />
:托盘图标:点击可弹出Web管理界面, 右键可显示常用功能菜单。<br />
: Win7/8/10:提示请求管理员权限, 安装CA证书。请点击同意。<br />
:推荐用Chrome浏览器, 安装SwichySharp, 可在swichysharp目录下找到插件和配置文件<br />
:Firefox 需手动导入证书 data/gae_proxy/CA.crt 启动后生成<br />
;Linux下, 执行 start.sh<br />
:自动导入证书,需安装 libnss3-tools 包<br />
:第一次启动, 请用sudo ./start.sh, 以安装CA证书<br />
:配置http代理 localhost 8087, 勾选全部协议使用这个代理。 推荐Chrome + SwitchyOmega<br />
;Mac下,双击 start.command<br />
:会自动导入证书,如果还有提示非安全连接,请手动导入data/gae_proxy/CA.crt证书<br />
:命令行启动方式:./start.sh 推荐Chrome + SwitchyOmega<br />
;服务端<br />
:协议采用3.3的版本,请重新部署服务端,服务端兼容3.1.x/3.2.x的客户端<br />
:虽然系统内置了公共appid, 还是建议部署自己的appid,公共appid限制看视频<br />
<br />
==感谢==<br />
<br />
*GoAgent<br />
*GoGoTest<br />
*goagentfindip<br />
*checkgoogleip<br />
<br />
==如何帮助项目==<br />
[https://github.com/XX-net/XX-Net/wiki/How-to-contribute 如何帮助项目]<br />
<br />
<br />
==附图==<br />
<br />
==集成XX-Net的项目==<br />
<br />
*ChromeGAE 主页:http://www.ccav1.com/chromegae 集成Google Chrome和XX-Net的自动翻墙浏览器 维护人:Yanu<br />
*plusburg 主页:https://github.com/Plusburg/Plusburg 集成XX-Net的启动光盘镜像<br />
*appifed-xx-net https://github.com/binarydist/appified-xx-net Mac OSX 环境下,变成一个标准的app</div>
范