【问题标题】:Pulling and building io.js from source using a specific version使用特定版本从源代码中提取和构建 io.js
【发布时间】:2015-08-29 06:58:18
【问题描述】:

我正在为我一直从事的 io.js 项目构建一个 Dockerfile,我希望能够使用 io.js 执行类似于以下的操作。

## Install Nodejs
RUN wget http://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz
RUN tar -xvzf node-v0.12.7.tar.gz
RUN cd /node-v0.12.7/ && ./configure && make && make install clean

在我看来,io.js 发行版应该有一种等效的方法。

## Install io.js.
RUN wget https://iojs.org/dist/v2.5.0/iojs-v2.5.0-darwin-x64.tar.gz
RUN tar -xvzf iojs-v2.5.0-darwin-x64.tar.gz
# Now run some command that actually installs io.js on the system.

问题似乎是我从这个发行版下载的 io.js“源”似乎只包含为不同系统构建的可执行文件,这不是我想要的。

有没有什么方法可以获取 iojs-v2.5.0 的源文件,这样我就可以进去做./configure --prefix=/usr && make && make check && make install?如果我可以在 Docker 上这样做,似乎会容易得多。

【问题讨论】:

  • 作为旁注,对于 nodejs,而不是你的 wget 和 tar,你可以只做 ADD http://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gz 这将做同样的事情。检查文档以添加 docs.docker.com/reference/builder/#add
  • 为什么从源代码编译比使用为您的系统制作的二进制文件更容易?
  • @Michael 经过深入研究后很快发现事实并非如此,我现在只是好奇。
  • 我承认你要编译的完全不变性,但如果这不是共享图像,不变性不一定是最方便的做法。
  • 100%。这正是实现这一目标的方法,但在我的情况下,我评估的越多,这种权衡似乎就越不利。

标签: node.js docker iojs


【解决方案1】:

源的url没有arch。

https://iojs.org/dist/v2.5.0/iojs-v2.5.0.tar.gz

您将需要安装依赖项才能像 make 和 g++ 一样构建

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    相关资源
    最近更新 更多