AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 780307
Accepted
gtbono
gtbono
Asked: 2016-06-02 07:04:19 +0800 CST2016-06-02 07:04:19 +0800 CST 2016-06-02 07:04:19 +0800 CST

旧 Debian 安装上的 JavaScript 解释器 (sarge)

  • 772

我打算编写一些脚本来通过服务器上的命令行管理任务。

我将在支持它的服务器中使用 NodeJS Debian 软件包,但我有一些服务器仍在 Debian 3.1 (sarge) 中。

我知道这些服务器都有 Rhino 包,我写的脚本在 Rhino 上可能仍然以同样的方式运行?(考虑到我不使用可能不可用的新 JavaScript 功能)

如果不是,我可以在较旧的 Debian 上使用什么解释器来编写 JS 命令行脚本,这将与我在较新的 Debian 上通过 NodeJS 运行的脚本兼容?

debian command-line-interface javascript node.js
  • 1 1 个回答
  • 55 Views

1 个回答

  • Voted
  1. Best Answer
    rsp
    2016-06-02T07:44:59+08:002016-06-02T07:44:59+08:00

    我认为不可能编写任何对新 Node.js 和旧 Rhino 都有效的重要内容。

    但是,如果您能够在那些旧系统上安装软件包,那么您大概也能够从源代码安装软件(如果您想在那里安装自己的软件,至少您必须这样做)。

    从源代码安装 Node 并不困难 - 请参阅我最近关于从源代码安装 Node 的回答(请参阅更新部分)。您甚至可以根据自己的脚本专门安装 Node,以免破坏文件系统。

    例如,假设您想在 /opt/X 中安装脚本(为 X 替换一个更好的名称),您可以这样做:

    # create a directory:
    mkdir -p /opt/X/node-src
    
    # change dir:
    cd /opt/X/node-src
    
    # download the Node source:
    curl -O https://nodejs.org/dist/v4.4.5/node-v4.4.5.tar.gz
    
    # extract the archive:
    tar xzvf node-v4.4.5.tar.gz
    
    # go into the extracted dir:
    cd node-v4.4.5
    
    # configure for installation:
    ./configure --prefix=/opt/X/node-v4.4.5
    
    # build and test:
    make && make test
    
    # install:
    sudo make install
    
    # make a symlink to that version:
    sudo ln -svf /opt/X/node-v4.4.5 /opt/X/node
    
    # create a directory for your scripts:
    mkdir /opt/X/scripts
    

    现在把你的脚本放进去/opt/X/scripts,记住以一行开头:

    #!/opt/X/node-v4.4.5/bin/node
    

    (对于给定的版本)

    或者:

    #!/opt/X/node/bin/node
    

    (使用您的符号链接)

    通过使用以下内容添加/opt/X/scripts到您PATH的:

    PATH="/opt/X/scripts:$PATH"
    

    在您设置PATH(like .profileor .bashrc) 的地方可以很容易地执行您的脚本。如果您希望您的脚本和node/npm二进制文件都易于执行,您可以设置PATH如下:

    PATH="/opt/X/scripts:/opt/X/node/bin:$PATH"
    

    当然,您可以将“X”更改为更好的名称,或者/opt/node像我在此处描述的那样安装节点,或者如果您愿意,可以在其他任何地方安装节点(当然记得在上面的命令中输入您自己的路径)。

    这样你就可以在你的机器上拥有一个现代、安全和一致的 Node 版本。在这种情况下,我会建议这样做,因为编写可在新旧 Node 和 Rhino 上运行的代码(并做任何有用的事情)似乎并不容易,甚至是不可能的。Node 不仅是 JavaScript,也是一个复杂的 I/O 系统、libuv 和整个 npm 模块的生态系统。

    正如那句老话所说,“移植 shell 比移植 shell 脚本更容易”(Larry Wall),所以在你的情况下,与你的脚本一起安装 Node 实际上可能比以一种不需要的方式编写脚本更容易节点(尽管如果您设法做到了,请在此处发表评论,我当然想知道您是如何做到的)。

    • 2

相关问题

  • 关闭 FTP

  • 如何在同一台电脑上从 putty 连接 debian vmware

  • debian- 文件到包的映射

  • Debian Ubuntu 网络管理器错误 [关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve