您平台上的 PhantomJS 浏览器没有二进制文件。请设置 "PHANTOMJS_BIN" 环境变量
No binary for PhantomJS browser on your platform. Please, set "PHANTOMJS_BIN" env variable
我的 package.json 看起来像这样..
"karma-phantomjs-launcher": "^0.1.4",
"karma-safari-launcher": "^0.1.1",
"karma-sinon-chai": "~0.2.0",
"karma-spec-reporter": "~0.0.16",
"mocha": "~1.20.1"
我的 npm 版本是 2.2.0
当我 运行 业力测试 - 业力开始时,我为什么会得到这个 my.conf.js
这似乎是 phantom js runner 和 phantom js 版本的问题。
https://github.com/karma-runner/karma-phantomjs-launcher/issues/31
我是如何解决问题的..
# install
npm install -g karma-phantomjs-launcher
# temporary path.. set the path
export PHANTOMJS_BIN=/usr/local/lib/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom/bin/phantomjs
karma start my.conf.js
我在使用旧版本的节点时也遇到了这个问题。如果您不想硬编码这个环境变量,更新您的节点版本将解决问题。只需执行以下操作(OSX 说明):
npm uninstall -g phantomjs
npm cache clean -f
brew upgrade nodejs
rm -rf node_modules
npm install -g YOUR_GLOBAL_DEPENDENCIES
npm install
编辑:更新说明以确保没有全局 phantomjs 依赖项
我运行遇到了同样的问题。修复方法是手动设置 PHANTOMJS_BIN
变量以指向正确的 phantomjs 路径。 karma 启动器以某种方式试图查看 PHANTOMJS_BIN
设置的错误路径。
以下是对我有用的方法:
$ echo $PHANTOMJS_BIN
/usr/local/lib/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom/bin/phantomjs
$ export PHANTOMJS_BIN=/usr/local/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs
$ grunt test
之后一切正常
有同样的问题,以上都做了,没有结果
刚刚从全局 node_modules 和项目本地删除了 'karma-phantomjs-launcher' 文件夹,
叫 'npm install' 一切都很好!
运行 遇到这样的问题。我所做的是全局安装 phantomjs npm install -g phantomjs
。然后转到 karma-phantomjs-launcher
模块文件夹并打开 index.js
文件。然后我去了 phantomJSExePath
函数并注释掉了之前的内容(不确定我做的事情是否安全)。然后我放了
return 'C://Users/user/AppData/Roaming/npm/node_modules/phantomjs/lib/phantom/phantomjs.exe';
让我免于重新输入临时导出。
我用 karma-phantomjs-launcher@1.0.0 遇到了这个问题,我还安装了 phantomjs@2.1.3。
事实证明,phantomjs 已被弃用,取而代之的是 phantomjs-prebuilt。
卸载两个包并重新安装 phantomjs-prebuilt 修复了 karma-phantomjs-launcher 的问题:
npm -g remove phantomjs phantomjs-prebuilt
npm -g install phantomjs-prebuilt
我的 karma.conf.js
有这一行:process.env.PHANTOMJS_BIN = 'node_modules/karma-phantomjs-launcher/node_modules/.bin/phantomjs';
在顶部。我刚刚意识到!我评论了,有效
我删除了项目下的所有 node_modules 文件夹和 运行 "npm install"。这确实解决了我的问题。
我有时遇到同样的问题。我有一个 gruntfile.js
和 package.json
,我在其中明确添加 phantomjs-prebuilt
作为依赖项。但是我的 CI 服务器有时可以 运行 grunt karma
顺利而有时却无法声称 No binary for PhantomJS browser on your platform. Please, set “PHANTOMJS_BIN” env variable
.
所以我添加了一个grunt task
来确保PHANTOMJS_BIN
变量在测试运行s之前被设置,然后解决了这个恼人的问题。
grunt.registerTask('ensurePhantomJsPath', function () {
process.env.PHANTOMJS_BIN = './node_modules/phantomjs-prebuilt/bin/phantomjs';
console.log(process.env.PHANTOMJS_BIN);
});
最后 Gruntfile.js
看起来像这样:
grunt.registerTask('ensurePhantomJsPath', function () {
process.env.PHANTOMJS_BIN = './node_modules/phantomjs-prebuilt/bin/phantomjs';
console.log(process.env.PHANTOMJS_BIN);
});
grunt.registerTask('test', ['ensurePhantomJsPath', 'karma']);
运行 以下命令:
npm remove phantomjs -g
npm remove phantomjs
npm install phantomjs
完成此安装后:
您将收到如下消息:
Linking to global install at /usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
复制此路径并 运行:
export PHANTOMJS_BIN=/usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
基本上发生的事情是:karma 正在尝试启动浏览器但无法找到它的 bin。
一旦将路径导出到正确的路径,它 运行s.
我在 OSX 上解决了这个问题:使用 sudo 删除并创建文件 karma.config.js
。
我的 package.json 看起来像这样..
"karma-phantomjs-launcher": "^0.1.4",
"karma-safari-launcher": "^0.1.1",
"karma-sinon-chai": "~0.2.0",
"karma-spec-reporter": "~0.0.16",
"mocha": "~1.20.1"
我的 npm 版本是 2.2.0
当我 运行 业力测试 - 业力开始时,我为什么会得到这个 my.conf.js
这似乎是 phantom js runner 和 phantom js 版本的问题。
https://github.com/karma-runner/karma-phantomjs-launcher/issues/31
我是如何解决问题的..
# install
npm install -g karma-phantomjs-launcher
# temporary path.. set the path
export PHANTOMJS_BIN=/usr/local/lib/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom/bin/phantomjs
karma start my.conf.js
我在使用旧版本的节点时也遇到了这个问题。如果您不想硬编码这个环境变量,更新您的节点版本将解决问题。只需执行以下操作(OSX 说明):
npm uninstall -g phantomjs
npm cache clean -f
brew upgrade nodejs
rm -rf node_modules
npm install -g YOUR_GLOBAL_DEPENDENCIES
npm install
编辑:更新说明以确保没有全局 phantomjs 依赖项
我运行遇到了同样的问题。修复方法是手动设置 PHANTOMJS_BIN
变量以指向正确的 phantomjs 路径。 karma 启动器以某种方式试图查看 PHANTOMJS_BIN
设置的错误路径。
以下是对我有用的方法:
$ echo $PHANTOMJS_BIN
/usr/local/lib/node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/phantom/bin/phantomjs
$ export PHANTOMJS_BIN=/usr/local/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs
$ grunt test
之后一切正常
有同样的问题,以上都做了,没有结果 刚刚从全局 node_modules 和项目本地删除了 'karma-phantomjs-launcher' 文件夹, 叫 'npm install' 一切都很好!
运行 遇到这样的问题。我所做的是全局安装 phantomjs npm install -g phantomjs
。然后转到 karma-phantomjs-launcher
模块文件夹并打开 index.js
文件。然后我去了 phantomJSExePath
函数并注释掉了之前的内容(不确定我做的事情是否安全)。然后我放了
return 'C://Users/user/AppData/Roaming/npm/node_modules/phantomjs/lib/phantom/phantomjs.exe';
让我免于重新输入临时导出。
我用 karma-phantomjs-launcher@1.0.0 遇到了这个问题,我还安装了 phantomjs@2.1.3。
事实证明,phantomjs 已被弃用,取而代之的是 phantomjs-prebuilt。
卸载两个包并重新安装 phantomjs-prebuilt 修复了 karma-phantomjs-launcher 的问题:
npm -g remove phantomjs phantomjs-prebuilt
npm -g install phantomjs-prebuilt
我的 karma.conf.js
有这一行:process.env.PHANTOMJS_BIN = 'node_modules/karma-phantomjs-launcher/node_modules/.bin/phantomjs';
在顶部。我刚刚意识到!我评论了,有效
我删除了项目下的所有 node_modules 文件夹和 运行 "npm install"。这确实解决了我的问题。
我有时遇到同样的问题。我有一个 gruntfile.js
和 package.json
,我在其中明确添加 phantomjs-prebuilt
作为依赖项。但是我的 CI 服务器有时可以 运行 grunt karma
顺利而有时却无法声称 No binary for PhantomJS browser on your platform. Please, set “PHANTOMJS_BIN” env variable
.
所以我添加了一个grunt task
来确保PHANTOMJS_BIN
变量在测试运行s之前被设置,然后解决了这个恼人的问题。
grunt.registerTask('ensurePhantomJsPath', function () {
process.env.PHANTOMJS_BIN = './node_modules/phantomjs-prebuilt/bin/phantomjs';
console.log(process.env.PHANTOMJS_BIN);
});
最后 Gruntfile.js
看起来像这样:
grunt.registerTask('ensurePhantomJsPath', function () {
process.env.PHANTOMJS_BIN = './node_modules/phantomjs-prebuilt/bin/phantomjs';
console.log(process.env.PHANTOMJS_BIN);
});
grunt.registerTask('test', ['ensurePhantomJsPath', 'karma']);
运行 以下命令:
npm remove phantomjs -g
npm remove phantomjs
npm install phantomjs
完成此安装后:
您将收到如下消息:
Linking to global install at /usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
复制此路径并 运行:
export PHANTOMJS_BIN=/usr/local/lib/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
基本上发生的事情是:karma 正在尝试启动浏览器但无法找到它的 bin。 一旦将路径导出到正确的路径,它 运行s.
我在 OSX 上解决了这个问题:使用 sudo 删除并创建文件 karma.config.js
。