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" ]
}
答案 0 :(得分:12)
jpm run
不适用于Firefox 48或更高版本的发行版问题不是jpm
,而是您尝试将其与Firefox 48的发布版本一起使用。从Firefox 48开始,Mozilla已禁用将首选项xpinstall.signatures.required
设置为false
允许加载未签名的加载项。因此,您的加载项将添加到该Firefox配置文件中,但已被禁用:
jpm run
要测试您的插件,您需要安装不同版本的Firefox并使用-b
option to jpm run
告诉jpm
which version of Firefox to use。假设您不想使用old version Firefox,则选项为Firefox Developer Edition,Firefox Nightly,Unbranded Beta, or Unbranded Release。
[Note(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)中使用的附加组件,&夜间(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的默认位置。根据您使用的操作系统,可以使用其他快捷方式名称(例如firefox
,firefoxdeveloperedition
,beta
,nightly
和aurora
) 。但是,它们无法在所有操作系统上正确解析。您始终可以选择指定要使用的Firefox版本的完整路径。
使用-b
选项指定路径的另一种方法是将JPM_FIREFOX_BINARY
环境变量更改为您希望与jpm
一起使用的Firefox可执行文件的路径。< / p>
注意:我已经更新了MDN上jpm的installation documentation,以反映自Firefox 48以来需要拥有Firefox的非发行版本。如果您最近访问过该页面,则可能需要使用< kbd> Ctrl - F5 刷新页面以查看新内容。