jpm 运行 不适用于 Firefox 48 或更高版本
jpm run does NOT work with Firefox 48, or later
jpm 版本为 1.1.3
npm 版本是 2.15.8
节点版本为 4.4.7
Firefox 版本为 48.0
index.js的内容:
var self = require("sdk/self");
console.log("************************************");
"jpm run" 命令的输出
JPM [info] Starting jpm run on My Jetpack Addon
JPM [info] Creating a new profile
根据index.js文件的内容,控制台应该会输出一行*
个符号。但是,愿望输出不在控制台中。
代码有问题吗?
我的 package.json 文件的内容:
{
"title": "My Jetpack Addon",
"name": "temp",
"version": "0.0.1",
"description": "A basic add-on",
"main": "index.js",
"author": "",
"engines": {
"firefox": ">=38.0a1",
"fennec": ">=38.0a1" },
"license": "MIT",
"keywords": [
"jetpack" ]
}
jpm run
不适用于 Firefox 48 或更高版本
问题不是 jpm
,而是您正试图将它与 Firefox 48 的发行版一起使用。从 Firefox 48 开始,Mozilla 已禁用设置首选项的功能 xpinstall.signatures.required
到 false
以允许加载未签名的附加组件。因此,您的附加组件被添加到该 Firefox 配置文件,但被禁用:
jpm run
您需要安装和使用不同版本的 Firefox
要测试您的附加组件,您需要安装不同版本的 Firefox 并使用 -b
option to jpm run
to tell jpm
which version of Firefox to use. Assuming you don't want an old version of Firefox, your options are Firefox Developer Edition, Firefox Nightly, Unbranded Beta, or Unbranded Release。
[注意(2016-08-11): 我在过去几天的测试表明,Firefox 48 的 Unbranded Release 版本和 Firefox 49.0b2 的 Unbranded Beta 版本出现了 48 中没有的问题或 49,而这些版本是 Nightly 或 Developer Edition。当前的 Developer Edition (50.0a2) 或 Nightly (51.0a2) 中不存在这些问题。换句话说,我有一个插件可以在 Developer Edition (50.0a2) 和 Nightly (51.0a2) 中使用,并且可以在 Developer Edition (49.0a2) 和 Developer Edition (48.0a2) 中使用,但不能在 Unbranded Release (48.0) 或 Unbranded Beta (49.0b2) 中工作。因此,我建议此时不要使用无品牌版本的 Firefox。]
最简单的方法是下载 Firefox Nightly 并启动 jpm
使用:
jpm run -b nightly
nightly
一词是一个快捷方式,它解析为 Firefox Nightly 的默认安装位置。根据您使用的 OS,还可以使用其他快捷方式名称(例如 firefox
、firefoxdeveloperedition
、beta
、nightly
和 aurora
).但是,它们无法在所有操作系统上正确解析。您始终可以选择指定要使用的 Firefox 版本的完整路径。
使用 -b
选项指定路径的另一种方法是将 JPM_FIREFOX_BINARY
环境变量更改为您希望与 jpm
一起使用的 Firefox 可执行文件的路径.
注意:我已经更新了 MDN 上 jpm 的 installation documentation,以反映从 Firefox 48 开始需要非发布版本的 Firefox。如果您最近访问过该页面,您可能需要使用Ctrl-F5刷新页面以查看新内容。
jpm 版本为 1.1.3
npm 版本是 2.15.8
节点版本为 4.4.7
Firefox 版本为 48.0
index.js的内容:
var self = require("sdk/self");
console.log("************************************");
"jpm run" 命令的输出
JPM [info] Starting jpm run on My Jetpack Addon
JPM [info] Creating a new profile
根据index.js文件的内容,控制台应该会输出一行*
个符号。但是,愿望输出不在控制台中。
代码有问题吗?
我的 package.json 文件的内容:
{
"title": "My Jetpack Addon",
"name": "temp",
"version": "0.0.1",
"description": "A basic add-on",
"main": "index.js",
"author": "",
"engines": {
"firefox": ">=38.0a1",
"fennec": ">=38.0a1" },
"license": "MIT",
"keywords": [
"jetpack" ]
}
jpm run
不适用于 Firefox 48 或更高版本
问题不是 jpm
,而是您正试图将它与 Firefox 48 的发行版一起使用。从 Firefox 48 开始,Mozilla 已禁用设置首选项的功能 xpinstall.signatures.required
到 false
以允许加载未签名的附加组件。因此,您的附加组件被添加到该 Firefox 配置文件,但被禁用:
jpm run
您需要安装和使用不同版本的 Firefox
要测试您的附加组件,您需要安装不同版本的 Firefox 并使用 -b
option to jpm run
to tell jpm
which version of Firefox to use. Assuming you don't want an old version of Firefox, your options are Firefox Developer Edition, Firefox Nightly, Unbranded Beta, or Unbranded Release。
[注意(2016-08-11): 我在过去几天的测试表明,Firefox 48 的 Unbranded Release 版本和 Firefox 49.0b2 的 Unbranded Beta 版本出现了 48 中没有的问题或 49,而这些版本是 Nightly 或 Developer Edition。当前的 Developer Edition (50.0a2) 或 Nightly (51.0a2) 中不存在这些问题。换句话说,我有一个插件可以在 Developer Edition (50.0a2) 和 Nightly (51.0a2) 中使用,并且可以在 Developer Edition (49.0a2) 和 Developer Edition (48.0a2) 中使用,但不能在 Unbranded Release (48.0) 或 Unbranded Beta (49.0b2) 中工作。因此,我建议此时不要使用无品牌版本的 Firefox。]
最简单的方法是下载 Firefox Nightly 并启动 jpm
使用:
jpm run -b nightly
nightly
一词是一个快捷方式,它解析为 Firefox Nightly 的默认安装位置。根据您使用的 OS,还可以使用其他快捷方式名称(例如 firefox
、firefoxdeveloperedition
、beta
、nightly
和 aurora
).但是,它们无法在所有操作系统上正确解析。您始终可以选择指定要使用的 Firefox 版本的完整路径。
使用 -b
选项指定路径的另一种方法是将 JPM_FIREFOX_BINARY
环境变量更改为您希望与 jpm
一起使用的 Firefox 可执行文件的路径.
注意:我已经更新了 MDN 上 jpm 的 installation documentation,以反映从 Firefox 48 开始需要非发布版本的 Firefox。如果您最近访问过该页面,您可能需要使用Ctrl-F5刷新页面以查看新内容。