致命错误:生成 ENOENT
Posted
技术标签:
【中文标题】致命错误:生成 ENOENT【英文标题】:Fatal error: spawn ENOENT 【发布时间】:2014-09-10 12:37:31 【问题描述】:Gruntfile.js 内容:
grunt.initConfig(
connect:
server:
options:
port: 5005,
base: '.'
,
qunit:
all: ['test/*.html']
);
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.registerTask('test', ['connect', 'qunit']);
Test/index.html 文件内容:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>
Sitejson - QUnit Test Runner
</title>
<link rel="stylesheet" href="libs/qunit/qunit.css" type="text/css">
</head>
<body>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
<script src="libs/qunit/qunit.js" type="text/javascript"></script>
<script src="testcases/tests.js" type="text/javascript"></script>
</body>
</html>
tests.js 内容:
QUnit.test("hello test", function(assert)
assert.ok(1 == "1", "Passed!");
);
我正在使用 Ubuntu / Linux 环境。我还安装了 Phantomjs 并且工作正常。每当我尝试运行 grunt test 时,我都会收到一个致命错误:spawn ENOENT 错误。
虽然我尝试在浏览器上运行它,但它的 qunit 工作正常...
我无法确定是什么问题。我是否在这里缺少更多配置。
grunt test --debug 告诉我:
Running "connect:server" (connect) task
[D] Task source: /media/hegdeashwin/Storage-TB/qunittesting/node_modules/grunt-contrib-connect/tasks/connect.js
Started connect web server on http://0.0.0.0:5005
Running "qunit:all" (qunit) task
[D] Task source: /media/hegdeashwin/Storage-TB/qunittesting/node_modules/grunt-contrib-qunit/tasks/qunit.js
Testing test/index.html [D] ["/media/hegdeashwin/Storage-TB/qunittesting/node_modules/grunt-contrib-qunit/node_modules/grunt-lib-phantomjs/phantomjs/main.js","/tmp/1405775714604.2773","test/index.html","\"timeout\":5000,\"inject\":\"/media/hegdeashwin/Storage-TB/qunittesting/node_modules/grunt-contrib-qunit/phantomjs/bridge.js\",\"urls\":[],\"force\":false,\"console\":true,\"httpBase\":false"]
Fatal error: spawn EACCES
【问题讨论】:
【参考方案1】:使用以下流程:
设置tmpdir
环境变量:
setenv TMPDIR=~/tmp
重新运行grunt
任务
如果可行,请将以下内容添加到您的 .bashrc
或 .profile
中永久设置:
export TMPDIR=~/tmp
参考文献
Troubleshooting · npm/npm Wiki
Secure Programs HowTo
Environment Variables
FAQ Troubleshooting【讨论】:
以上是关于致命错误:生成 ENOENT的主要内容,如果未能解决你的问题,请参考以下文章
以 Clover XML 格式生成代码覆盖率报告...致命错误:无法重新声明 preprocessGrammar()
使用 pyinstaller 生成的可执行文件遇到“致命的 python 错误:initfsencoding”
Nuxt 生成致命错误:在堆限制附近的无效标记压缩分配失败 - JavaScript 堆内存不足
PHPUnit CodeIgniter 生成夹具 PHP 致命错误:找不到类“PHPUnit_Framework_TestCase”