Kom ihåg mig?
Home Menu

Menu


Utvärdering av Phalanger 3.0 (.NET Kompilator för PHP5 med inslag av PHP6)

 
Ämnesverktyg Visningsalternativ
Oläst 2013-07-04, 03:01 #31
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Jag kanske glömde nämna att jag även gått till Rybu-katalogen c:\Program Files (x86)\Ruby200 och kört:

Ruby dk.rb init

och därefter:

Ruby dk.rb install

sen körde jag:

Ruby dk.rb Review

Allt rapporteras vara OK, men när jag försöker köra:

Kod:
require "mysql2"
client = Mysql2::Client.new(:host => "localhost", :database => 'RubyTestDB', :username => "RubyTestUser", :password => 'RubyTestPassword')
results = client.query("SELECT * FROM players")
results.each do |row|
  puts row
end
Så får jag felmeddelande att den inte hittar namespace mysql2....

Kod:
....require cannot load such file -- mysql2/2.0/mysql (Load Error)

Intressant blev det dock när jag la till de två första raderna i följande kod:

Kod:
#!usr/bin/Ruby20
#encoding: utf-8

require "mysql2"
client = Mysql2::Client.new(:host => "localhost", :database => 'RubyTestDB', :username => "RubyTestUser", :password => 'RubyTestPassword')
results = client.query("SELECT * FROM players")
results.each do |row|
  puts row
end
Då fick jag färre felmeddenden:

Kod:
C:\Program Files (x86)\Ruby200\bin\Ruby.exe: no Ruby script found in input (Load Error)

>Terminated with exit code 1
Den sista raden är nog min editor Grimson som skapar, men jag får i övrigt samma felmeddelanden om jag kör direkt vid kommandoraden.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-04, 03:36 #32
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Jag körde återigen:

gem install mysql2

Config.yml som ligger i Ruby-katalogen ser ut så här:

Kod:
# This configuration file contains the absolute path locations of all
# installed Rubies to be enhanced to work with the DevKit. This config
# file is generated by the 'ruby dk.rb init' step and may be modified
# before running the 'ruby dk.rb install' step. To include any installed
# Rubies that were not automagically discovered, simply add a line below
# the triple hyphens with the absolute path to the Ruby root directory.
#
# Example:
#
# ---
# - C:/ruby19trunk
# - C:/ruby192dev
#
---
- C:/Program Files (x86)/Ruby200
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-04, 13:49 #33
Linuus Linuus är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2009
Inlägg: 890
Linuus Linuus är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2009
Inlägg: 890
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Jag körde återigen:

gem install mysql2

Config.yml som ligger i Ruby-katalogen ser ut så här:

Kod:
# This configuration file contains the absolute path locations of all
# installed Rubies to be enhanced to work with the DevKit. This config
# file is generated by the 'ruby dk.rb init' step and may be modified
# before running the 'ruby dk.rb install' step. To include any installed
# Rubies that were not automagically discovered, simply add a line below
# the triple hyphens with the absolute path to the Ruby root directory.
#
# Example:
#
# ---
# - C:/ruby19trunk
# - C:/ruby192dev
#
---
- C:/Program Files (x86)/Ruby200
Och det funkar inte eller? Har aldrig kört Ruby på Windows så kan tyvärr inte hjälpa dig med det.

Men som sagt... Kör för guds skull in Linux om du ska utveckla i Ruby. Det kommer spara dig åtskilliga timmar.
Linuus är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-04, 14:20 #34
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Kan inte annat än hålla med. Skulle rekommendera en vagrant-installation, men för det behövs också Ruby Men en virtualbox installation med en headless ubuntu/debian/vadsom vore nog bra mycket smidigare än att jävlas i windows. I stort sett alla servrar som inte kör microsoft-applikationer (MSSQL, .NET osv) kör ju just *nix och därmed optimeras installationsförfaranden för just de plattformarna.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-04, 19:02 #35
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Linux är inte intressant och jag har Oracle Virtual Box installerad (med Ubuntu 12.04 LTS), men själva syftet är att installera och köra Ruby på just Windowsplattformen så att köra i Linux är helt ointressant.

Jag har kört C, C++, Cobol, Pascal, Visual Basic, C#, PHP i både Windows och Linuxplattformarna. Nu håller jag på med att få Ruby att fungera i Windows 7.

Jag har fått alla tidigare testprogram att fungera i Ruby, men nu verkar det som att när man installerar gem-paket så ser allt bra ut förutom att inget av de externa men installerade gem-paketen fungerar att anropa via require("<gem-paket>").

Jag la upp det simplaste exemplet (med en require och en puts-rad) och testade:

Kod:
#!usr/bin/ruby20
#encoding: utf-8

#require("geokit")
#require("csvkit")
#require("devil")
#require("devlin")
#require("cucumber")
#require("capybara")
#require("rspec")
#require("faker")
#equire("rspec-rails")
#require("sinatra")
#require("rails")
#require("bubble-wrap")
#require("railties")
#require("railspm")
#require("mssql")
require("mysql")

puts "Hello, Require()!"
- Jag har laddat ner alla dessa paket med; gem install <gem-pack>
- Alla visas när man kör; gem list
- Ingen av dem funkar med require("<gem-packet>")
- Kommenterar jag bort alla rader med require, så funkar appen


Funderingar:

Jag har kollat på massor av webbsidor med instruktioner för hur man installerar Ruby, men det verkar vara en implicit kunskap om hur man bygger gem-paket efter installation som inte förmedlas på dessa webbsidor.

Om jag förstått det hela rätt så kan man "bygga" om vissa komponenter man laddar ner för att göra dem till "paket" som kan inkluderas med require. Jag har inte hittat något fungerande exempel på hur det går till.

När man laddar ner Ruby för Windows så medföljer MinGW som är en typ av Minimalistisk C kompilator för att native-kompilera C-program. Ruby i sig självt är skrivet i C. Precis som PHP och Python.

Senast redigerad av Conny Westh den 2013-07-04 klockan 19:16
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-04, 19:13 #36
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Jag har kollat på massor av webbsidor med instruktioner för hur man installerar Ruby, men det verkar vara en implicit kunskap om hur man bygger gem-paket efter installation som inte förmedlas på dessa webbsidor.
Normalfallet är att köra gem install och sen require med samma namn. Detta kan dock variera lite, t ex om du har flera möjliga requires i ett gem eller skaparen var dum nog att välja ett random namn. Men troligen är något galet i din installation och paths. Då jag inte vidrör windows för annan programmering än .NET kan jag dock inte hjälpa till.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-04, 21:59 #37
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Ja nåt fel är det någonstans för jag ser att det finns andra som fått det att fungera:

Exempel:
http://beans.seartipy.com/2008/06/09...ndows-vistaxp/

Jag testade att uppdatera gem-systemet i sig med kommandot:
Kod:
gem update --system
Vilket verkade behövas för den uppdaterade en hel drös med saker då....


Sen körde jag uppdatering av de paket jag installerat:
Kod:
gem update
Det verkade också behövas för det var en ännu större drös med poaket som uppdaterades.

Jag såg bland annat att Bigdecimal uppdaterades och att jag fick följande information:
Kod:
Updating installed gems
Updating activeresource
Fetching: rails-observers-0.1.1.gem (100%)
Successfully installed rails-observers-0.1.1
Fetching: activeresource-4.0.0.gem (100%)
Successfully installed activeresource-4.0.0
Parsing documentation for rails-observers-0.1.1
Installing ri documentation for rails-observers-0.1.1
Installing darkfish documentation for rails-observers-0.1.1
Parsing documentation for activeresource-4.0.0
Installing ri documentation for activeresource-4.0.0
Installing darkfish documentation for activeresource-4.0.0
Updating bigdecimal
Fetching: bigdecimal-1.2.1.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
Successfully installed bigdecimal-1.2.1
Parsing documentation for bigdecimal-1.2.1
unable to convert "\xE9" from ASCII-8BIT to UTF-8 for bigdecimal.o, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for bigdecimal.so, skipping
Installing ri documentation for bigdecimal-1.2.1
Installing darkfish documentation for bigdecimal-1.2.1
Updating builder
Fetching: builder-3.2.2.gem (100%)
Successfully installed builder-3.2.2
Parsing documentation for builder-3.2.2
Installing ri documentation for builder-3.2.2
Installing darkfish documentation for builder-3.2.2
Updating hashie
Fetching: hashie-2.0.5.gem (100%)
Successfully installed hashie-2.0.5
Parsing documentation for hashie-2.0.5
Installing ri documentation for hashie-2.0.5
Installing darkfish documentation for hashie-2.0.5
Updating json
Building native extensions.  This could take a while...
Successfully installed json-1.8.0
Parsing documentation for json-1.8.0
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/json/ext/generator.so, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/json/ext/parser.so, skipping
Installing ri documentation for json-1.8.0
Installing darkfish documentation for json-1.8.0
Updating minitest
Fetching: minitest-5.0.6.gem (100%)
Successfully installed minitest-5.0.6
Parsing documentation for minitest-5.0.6
Installing ri documentation for minitest-5.0.6
Installing darkfish documentation for minitest-5.0.6
Updating rake
Fetching: rake-10.1.0.gem (100%)
rake's executable "rake" conflicts with c:/Projects/Ruby200/bin/rake
Overwrite the executable? [yN]  y
Successfully installed rake-10.1.0
Parsing documentation for rake-10.1.0
Installing ri documentation for rake-10.1.0
Installing darkfish documentation for rake-10.1.0
Updating rdoc
Fetching: rdoc-4.0.1.gem (100%)
rdoc's executable "rdoc" conflicts with c:/Projects/Ruby200/bin/rdoc
Overwrite the executable? [yN]  y
rdoc's executable "ri" conflicts with c:/Projects/Ruby200/bin/ri
Overwrite the executable? [yN]  y
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
 = 1.8.7 : gem install rdoc-data; rdoc-data --install
 = 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Successfully installed rdoc-4.0.1
Parsing documentation for rdoc-4.0.1
Installing ri documentation for rdoc-4.0.1
Installing darkfish documentation for rdoc-4.0.1
Updating test-unit
Fetching: test-unit-2.5.5.gem (100%)
Successfully installed test-unit-2.5.5
Parsing documentation for test-unit-2.5.5
Installing ri documentation for test-unit-2.5.5
Installing darkfish documentation for test-unit-2.5.5
Updating tzinfo
Fetching: tzinfo-1.0.1.gem (100%)

TZInfo Timezone Data has Moved
==============================

The timezone data previously included with TZInfo as Ruby modules has now been
moved to a separate tzinfo-data gem. TZInfo also now supports using the system
zoneinfo files on Linux, Mac OS X and other Unix-like operating systems.

If you want to continue using the Ruby timezone modules, or you are using an
operating system that does not include zoneinfo files (such as
Microsoft Windows), you will need to install tzinfo-data by running:

gem install tzinfo-data

If tzinfo-data is installed then TZInfo will use the Ruby timezone modules.
Otherwise, it will attempt to find the system zoneinfo files. Please refer to
the TZInfo documentation (available from https://rubygems.org/gems/tzinfo) for
further information.

Successfully installed tzinfo-1.0.1
Parsing documentation for tzinfo-1.0.1
Installing ri documentation for tzinfo-1.0.1
Installing darkfish documentation for tzinfo-1.0.1
Gems updated: rails-observers activeresource bigdecimal builder hashie json minitest rake rdoc test-unit tzinfo
Om man kikar på de rader jag markerat med fetstil så verkar det som systemet ändå har lyckats compilera om Bigdecimal som är en "native extension", jag tolkar det som att den har lyckats kompilera C-programmet med MinGW. Vet dock inte hur jag ska kolla att det gått vägen ännu. ska kolla om jag kan utläsa något om datumen på filerna men det säger förmodligen inte så mycket.

Jag har förstått att det är <namespace> eller <module> man ska ha som parameter vid require(<parameter>) och att <gem-packetname> är något annat egentligen. men att det är vanligt att man döper dem till samma.

Jag får forska vidare....

Senast redigerad av Conny Westh den 2013-07-04 klockan 22:04
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-05, 03:47 #38
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Nu tror jag att jag hittat en viktig orsak till problemet med require.

Jag misstänkte att det kunde ha med sökvägar till filerna att göra så jag grottade ner mig i filstrukturen.

Jag har nu installerat Ruby i katalogen "C:\Projects\Ruby200"

Det visar sig att modulerna som följer med Ruby från start ligger i katalogen:

Kod:
C:\\Projects\\Ruby200\\lib\\ruby\\2.0.0\\
Men gem paketen hamnar i en helt annan filstruktur, som exempelvis "csvkit"

Kod:
C:\Projects\Ruby200\lib\ruby\gems\2.0.0\gems\csvkit-0.1.3\lib\csvkit.rb"
Kod:
require("open3")  # funkar för open3 ingår från början i Ruby
Men för att kunna nå csvkit så måste man specificera så här i require()

Kod:
require("C:\\Projects\\Ruby200\\lib\\ruby\\gems\\2.0.0\\gems\\csvkit-0.1.3\\lib\\csvkit")
Ja, man måste tydligen använda dubbelbackslash "\\" när man vill ha en backslash för det följer standarden för detta från C/C++ världen.

Nu får jag inget körfel när jag specar sökvägen hela vägen ner till csvkit.rb som modulens laddfil heter.

Nu har jag i alla fall förstått vad felet beror på i grunden. Nu är nästa steg att ta reda på hur man kan lösa problemet.

Jag läste även att Ryby-projektet sedan version 1.9.2 har gjort en break på bakåtkompatibiliteten för sökvägarna. Så exempelvis current directory (".\") inte längre ingår i sökpathen.

Det borde finnas en inställning jag kan ändra för att detta ska fungera globalt, för mig, men har inte hittat den ännu.

Men om jag förstår det rätt så ligger alla extra installerade gems flera nivåer djupare i filstrukturen och man måste veta exakt version och så för att det ska gå att inkludera i källkoden.

Jag har inte hittat någon dokumentation på detta ännu, men det borde rimligen finnas någonstans.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-05, 20:29 #39
pelmereds avatar
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2010
Inlägg: 1 342
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
pelmereds avatar
 
Reg.datum: May 2010
Inlägg: 1 342
Skulle inte den här tråden handla om Phalanger...?

Nu är det över 3 sidor som det ens nämndes i råden. Senaste sidorna har istället handlar om Ruby som har extremt lite att göra med både PHP och .Net, och därmed även Phalanger.

Vi borde försöka ha lite bättre forumdisciplin här tycker jag
pelmered är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-05, 22:55 #40
Linuus Linuus är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2009
Inlägg: 890
Linuus Linuus är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2009
Inlägg: 890
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Kod:
require("C:\\Projects\\Ruby200\\lib\\ruby\\gems\\2.0.0\\gems\\csvkit-0.1.3\\lib\\csvkit")
Ja, man måste tydligen använda dubbelbackslash "\\" när man vill ha en backslash för det följer standarden för detta från C/C++ världen.
Använd File.join() istället för att skapa paths.

Kod:
File.join('din', 'path', 'här')
Då fungerar även din kod i annat än Windows



Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Skulle inte den här tråden handla om Phalanger...?

Nu är det över 3 sidor som det ens nämndes i råden. Senaste sidorna har istället handlar om Ruby som har extremt lite att göra med både PHP och .Net, och därmed även Phalanger.

Vi borde försöka ha lite bättre forumdisciplin här tycker jag
Håller med... Sorry.

Conny: Du kanske ska skapa en egen tråd för Ruby istället?
Linuus är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 21:30.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017