我在尝试使用常春藤工具安装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,并从管理控制台运行它,但出现相同的错误。
答案 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.out
,npm
认为您要安装名为">" "_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
<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>