jpm run不适用于Firefox 48或更高版本

时间:2016-08-11 04:00:12

标签: javascript firefox firefox-addon firefox-addon-sdk jpm

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"   ]  
}

1 个答案:

答案 0 :(得分:12)

jpm run不适用于Firefox 48或更高版本的发行版

问题不是jpm,而是您尝试将其与Firefox 48的发布版本一起使用。从Firefox 48开始,Mozilla已禁用将首选项xpinstall.signatures.required设置为false允许加载未签名的加载项。因此,您的加载项将添加到该Firefox配置文件中,但已被禁用:

jpm run

Disabled add-on with jpm run

您需要安装和使用不同版本的Firefox

要测试您的插件,您需要安装不同版本的Firefox并使用-b option to jpm run告诉jpm which version of Firefox to use。假设您不想使用old version Firefox,则选项为Firefox Developer EditionFirefox NightlyUnbranded 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 

Enabled add-on with jpm run -b nightly

单词nightly是一个快捷方式,可解析为每晚安装Firefox的默认位置。根据您使用的操作系统,可以使用其他快捷方式名称(例如firefoxfirefoxdevelopereditionbetanightlyaurora) 。但是,它们无法在所有操作系统上正确解析。您始终可以选择指定要使用的Firefox版本的完整路径。

使用-b选项指定路径的另一种方法是将JPM_FIREFOX_BINARY环境变量更改为您希望与jpm一起使用的Firefox可执行文件的路径。< / p>

注意:我已经更新了MDN上jpm的installation documentation,以反映自Firefox 48以来需要拥有Firefox的非发行版本。如果您最近访问过该页面,则可能需要使用< kbd> Ctrl - F5 刷新页面以查看新内容。