从常春藤安装 Gruntjs 时出错



尝试使用 ivy 工具安装 gruntjs 时出现错误。在我的版本中.xml有:

<echo message="installing gruntjs support..." />
<get src="http://ivy.iwin.com/gruntjs-build.xml" dest="${gruntjs.build.file}" usetimestamp="true" />
<import file="${gruntjs.build.file}" />

这个gruntjs-build.xml安装nodejs:

<echo message="installing nodejs support..." />
<get src="http://ivy.iwin.com/nodejs-build.xml" dest="${nodejs.build.file}" usetimestamp="true" />
<import file="${nodejs.build.file}" />

当调用"gruntjs.install"taks时,我收到以下错误:

gruntjs.install:
     [exec] npm ERR! 404 404 Not Found: %3E
     [exec] npm ERR! 404
     [exec] npm ERR! 404 '%3E' is not in the npm registry.
     [exec] npm ERR! 404 You should bug the author to publish it
     [exec] npm ERR! 404
     [exec] npm ERR! 404 Note that you can also install from a
     [exec] npm ERR! 404 tarball, folder, or http url, or git url.
     [exec]
     [exec] npm ERR! System Windows_NT 6.2.9200
     [exec] npm ERR! command "c:\project-dir\nodejs-lib\\node.exe" "c:\project-dir\nodejs-lib\node_modules\npm\bin\npm-cli.js" "install" "-g" "grunt-cli" "--prefix" "c:\project-dir/nodejs-lib" ">" "_tempfile.out" "2>&1"
     [exec] npm ERR! cwd c:project-dir
     [exec] npm ERR! node -v v0.10.32
     [exec] npm ERR! npm -v 1.4.12
     [exec] npm ERR! code E404
     [exec] npmThe system cannot find the file specified.
     [exec] Could Not Find c:project-dir_tempfile.out

如果我运行"touch _tempfile.out",它会继续其他"某些文件不在 npm 注册表中"。我认为问题在于 nodejs 是如何安装的。我尝试卸载nodejs,并从管理控制台运行它,但出现相同的错误。

这里的问题是整个命令行都传递给npm,包括npm转义为 %3E 的字符>

有些东西正在用参数调用npm "c:\project-dir\nodejs-lib\\node.exe" "c:\project-dir\nodejs-lib\node_modules\npm\bin\npm-cli.js" "install" "-g" "grunt-cli" "--prefix" "c:\project-dir/nodejs-lib" ">" "_tempfile.out" "2>&1"

因此,与其将输出和stderr重定向到_tempfile.outnpm认为您要安装名为">" "_tempfile.out" "2>&1"

无论调用什么npm(ivy?maven?其他工具?(可能都有一种带外方法来指定输出重定向,所以尝试在你的配置文件中四处寻找"_tempfile.out"指定的位置,看看你是否可以让node

运行,只用这个命令行:

"c:\project-dir\nodejs-lib\\node.exe" "c:\project-dir\nodejs-lib\node_modules\npm\bin\npm-cli.js" "install" "-g" "grunt-cli" "--prefix" "c:\project-dir/nodejs-lib"

无法重现您的问题。远程 ANT 构建文件不再可用。我也不明白你为什么认为这是一个常春藤问题。

我认为您应该从您的构建中调用 NPM 工具目录。请参阅Grunt的安装文档:

http://gruntjs.com/getting-started

尝试重新创建此问题失败,如下所示:

build:
     [echo] installing nodejs support...
      [get] Getting: http://ivy.iwin.com/nodejs-build.xml
      [get] To: /home/mark/tmp/build.xml.tmp
      [get] Error opening connection java.io.FileNotFoundException: http://ivy.iwin.com/nodejs-build.xml
      [get] Error opening connection java.io.FileNotFoundException: http://ivy.iwin.com/nodejs-build.xml
      [get] Error opening connection java.io.FileNotFoundException: http://ivy.iwin.com/nodejs-build.xml
      [get] Can't get http://ivy.iwin.com/nodejs-build.xml to /home/mark/tmp/build.xml.tmp

构建.xml

<project name="demo" default="build">
  <property name="nodejs.build.file" location="build.xml.tmp"/>
  <target name="build">
    <echo message="installing nodejs support..." />
    <get src="http://ivy.iwin.com/nodejs-build.xml" dest="${nodejs.build.file}" usetimestamp="true" />
    <import file="${nodejs.build.file}" />
  </target>
</project>

相关内容

  • 没有找到相关文章

最新更新