windows で日本ユーザ名 でgemをするとき
windows vista で日本語名でユーザが登録されているときに、
rails しようとするとエラーが出ちゃいます。
gemが C:\Users\日本語ユーザ名\.gem に保存しようとしているため。
そんな時は、環境変数に、GEM_PATH を追加して、保存したい場所を新たに指定すると
そこに保存されるよう。
#ここからは軽くソース追ってみた。
Ruby1.9.2\bin\gem から
Ruby1.9.2\lib\ruby\1.9.1\rubygems\gem_runner.rb の
def do_configuration(args) Gem.configuration = @config_file_class.new(args) Gem.use_paths(Gem.configuration[:gemhome], Gem.configuration[:gempath]) Gem::Command.extra_args = Gem.configuration[:gem] @doc_manager_class.configured_args = Gem.configuration[:rdoc] end
@config_file_class.new(args) から
Ruby1.9.2\lib\ruby\1.9.1\rubygems\config_file.rb の
def initialize(arg_list) @config_file_name = nil need_config_file_name = false arg_list = arg_list.map do |arg| if need_config_file_name then @config_file_name = arg need_config_file_name = false nil elsif arg =~ /^--config-file=(.*)/ then @config_file_name = $1 nil elsif arg =~ /^--config-file$/ then need_config_file_name = true nil else arg end end.compact @backtrace = DEFAULT_BACKTRACE @benchmark = DEFAULT_BENCHMARK @bulk_threshold = DEFAULT_BULK_THRESHOLD @verbose = DEFAULT_VERBOSITY @update_sources = DEFAULT_UPDATE_SOURCES operating_system_config = Marshal.load Marshal.dump(OPERATING_SYSTEM_DEFAULTS) platform_config = Marshal.load Marshal.dump(PLATFORM_DEFAULTS) system_config = load_file SYSTEM_WIDE_CONFIG_FILE user_config = load_file config_file_name.dup.untaint @hash = operating_system_config.merge platform_config @hash = @hash.merge system_config @hash = @hash.merge user_config # HACK these override command-line args, which is bad @backtrace = @hash[:backtrace] if @hash.key? :backtrace @benchmark = @hash[:benchmark] if @hash.key? :benchmark @bulk_threshold = @hash[:bulk_threshold] if @hash.key? :bulk_threshold @home = @hash[:gemhome] if @hash.key? :gemhome @path = @hash[:gempath] if @hash.key? :gempath @update_sources = @hash[:update_sources] if @hash.key? :update_sources @verbose = @hash[:verbose] if @hash.key? :verbose load_rubygems_api_key Gem.sources = @hash[:sources] if @hash.key? :sources handle_arguments arg_list end
の下記のところで、データを取り出すようだ。
operating_system_config = Marshal.load Marshal.dump(OPERATING_SYSTEM_DEFAULTS) platform_config = Marshal.load Marshal.dump(PLATFORM_DEFAULTS) system_config = load_file SYSTEM_WIDE_CONFIG_FILE user_config = load_file config_file_name.dup.untaint
\rubygems\commands\environment_command.rb
def execute out = '' arg = options[:args][0] case arg when /^packageversion/ then out << Gem::RubyGemsPackageVersion when /^version/ then out << Gem::VERSION when /^gemdir/, /^gemhome/, /^home/, /^GEM_HOME/ then out << Gem.dir when /^gempath/, /^path/, /^GEM_PATH/ then out << Gem.path.join(File::PATH_SEPARATOR) when /^remotesources/ then out << Gem.sources.join("\n") when nil then out = "RubyGems Environment:\n" out << " - RUBYGEMS VERSION: #{Gem::VERSION}\n" out << " - RUBY VERSION: #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}" out << " patchlevel #{RUBY_PATCHLEVEL}" if defined? RUBY_PATCHLEVEL out << ") [#{RUBY_PLATFORM}]\n" out << " - INSTALLATION DIRECTORY: #{Gem.dir}\n" out << " - RUBYGEMS PREFIX: #{Gem.prefix}\n" unless Gem.prefix.nil? out << " - RUBY EXECUTABLE: #{Gem.ruby}\n" out << " - EXECUTABLE DIRECTORY: #{Gem.bindir}\n" out << " - RUBYGEMS PLATFORMS:\n" Gem.platforms.each do |platform| out << " - #{platform}\n" end out << " - GEM PATHS:\n" out << " - #{Gem.dir}\n" path = Gem.path.dup path.delete Gem.dir path.each do |p| out << " - #{p}\n" end out << " - GEM CONFIGURATION:\n" Gem.configuration.each do |name, value| value = value.gsub(/./, '*') if name == 'gemcutter_key' out << " - #{name.inspect} => #{value.inspect}\n" end out << " - REMOTE SOURCES:\n" Gem.sources.each do |s| out << " - #{s}\n" end else raise Gem::CommandLineError, "Unknown enviroment option [#{arg}]" end say out true end
smarty3 テンプレート内で arrayを使う
[ "action"=>"a","type"=>"a"]
これで、いけるらしいメモメモ...
radiant をwindowsにインストール
下記の通り進めるが、ポイントはRedCloth を入れ忘れないこと
https://github.com/radiant/radiant/wiki/Installing-on-Windows
gem update --system gem install rails gem install cucumber --version "< 0.4" # Cucumber 0.4.0 through 0.6.3 have an # incompatibility with Radiant. gem install sqlite3 # Or a database that works for you gem install thin # Or a web server that works for you gem install RedCloth -v 4.2 ―platform=x86-mswin32-60 gem install radiant
っと思ったら、msvcrt-ruby18.dllが無い!ってエラーでt
windows で gem install json でエラー
json 使うんで、ターミナルから
gem install json
するとエラーが出る。。
http://rubyforge.org/frs/?group_id=953&release_id=38578
にwindows 用のが公開されているので、
json-1.1.9-x86-mswin32.gemを取得して
>gem install json --local Successfully installed json-1.1.9-x86-mswin32 1 gem installed Installing ri documentation for json-1.1.9-x86-mswin32... Installing RDoc documentation for json-1.1.9-x86-mswin32...