Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/V8Public

Embedded JavaScript Engine for R

License

NotificationsYou must be signed in to change notification settings

jeroen/V8

 
 

Repository files navigation

Embedded JavaScript and WebAssembly Engine for R

CRAN_Status_BadgeCRAN RStudio mirror downloads

An R interface to V8: Google's open source JavaScript and WebAssemblyengine. This package can be compiled either with V8 version 6 and up or NodeJSwhen built as a shared library.

Getting started

About the R package:

To see some quick examples in R run:

library(V8)example(v8)

Installation

Binary packages forOS-X orWindows can be installed directly from CRAN:

install.packages("V8")

On Linux you need a suitable libv8 installation, see below.

Linux: Static libv8

On amd64/arm64 Linux/MacOS platforms it is possible (and recommended) to automatically download a suitable static build of libv8 during package installation. This is enabled by default on Ubuntu, RHEL, and MacOS. For other systems you can opt-in by setting an environment variableDOWNLOAD_STATIC_LIBV8 during installation, for example:

Sys.setenv(DOWNLOAD_STATIC_LIBV8=1)install.packages("V8")

This way, you can install the R package on any x64 Linux system, without external system requirements. Alternatively, it is also still possible to install libv8 from your distribution as described below. This may be needed for servers running other architectures, or when building the R package without internet access.

Debian / Ubuntu

Installation from source on Linux requireslibv8. On Ubuntu / Debian you need to install eitherlibv8-dev, orlibnode-dev. On the latest systems,libv8-dev is actually an alias forlibnode-dev so they are the same:

# Debian and Ubuntusudo apt-get install -y libv8-dev

Fedora / Redhat

OnFedora we need v8-devel (which Fedora provides as part ofnodejs):

sudo yum install v8-devel

OnCentOS 7 / RHEL 7 we install first need to enable EPEL:

sudo yum install epel-releasesudo yum install v8-devel

OnRockyLinux 8 / RHEL 8,v8-devel can be installed from thenodejs:16-epel module repository:

yum --refresh --enablerepo=epel-testing-modular install @nodejs:16-epel/minimal v8-devel

Arch Linux

Arch users are advised to install thev8-r package, which has been configured to work well with R. Installation can done through your preferred AUR helper such as yay, Trizen, etc. However, since V8 contains a large codebase and (re-)compilation takes a while, users may prefer to build and update it manually. For example,

## Archcd /tmpyay -G v8-rcd v8-rmakepkg -si

Homebrew

OnOS-X usev8 from Homebrew:

brew install v8

But it is much easier to setDOWNLOAD_STATIC_LIBV8 instead.

Hello World

# Create a new contextlibrary(V8)ctx<- v8()# Evaluate some codectx$eval("var foo = 123")ctx$eval("var bar = 456")ctx$eval("foo+bar")# Assign / get objectsctx$assign("foo", JS("function(x){return x*x}"))ctx$assign("bar", JS("foo(9)"))ctx$get("bar")

Call functions from JavaScript libraries

ctx<-V8::v8()ctx$source("https://cdnjs.cloudflare.com/ajax/libs/coffee-script/1.4.0/coffee-script.min.js")jscode<-ctx$call("CoffeeScript.compile","square = (x) -> x * x",list(bare=TRUE))ctx$eval(jscode)ctx$call("square",9)

About

Embedded JavaScript Engine for R

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors10

Languages


[8]ページ先頭

©2009-2025 Movatter.jp