从常春藤安装gruntjs时出错

时间:2014-12-23 09:30:51

标签: ant gruntjs npm

我在尝试使用常春藤工具安装gruntjs时遇到错误。 在我的build.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}" />

当&#34; gruntjs.install&#34;我被叫,我得到以下错误:

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

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

2 个答案:

答案 0 :(得分:1)

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

使用参数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?其他一些工具?),都可能采用带外方式来指定输出重定向,因此请尝试在配置文件中查看{{1指定并查看是否可以使用此命令行运行"_tempfile.out"

node

答案 1 :(得分:0)

无法重现您的问题。远程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

的build.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>