我一直试图让 jslint 在我的系统上运行,但失败了。我选择了 npm 路线,并简单地运行sudo npm install -g jslint
我正在使用的 nodejs 包而不是 node-legacy。我还创建了一个符号链接:sudo ln -s /usr/bin/nodejs /usr/bin/node
因为它找不到节点。所以 JSlint 已安装,但当我在终端中运行 jslint 时,我得到了这个:`
module.js:340
throw err;
^
Error: Cannot find module 'readable-stream'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/felipe/.npm/j slint/0.9.0/package/lib/stream.js:1:80)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)`
所以我运行了sudo npm install -g readable-stream
,以验证我查看了 /home/me/.npm/ 并且确实有一个 readable-stream 文件夹。确切地说是版本 1.0.33。但我仍然得到同样的错误。所以我没有主意了。如果能帮助我解决这个问题,我将不胜感激。
我尝试使用 package install --> JSLint 让 JSLint 在 sublime text 3 上运行,我也尝试了 SublimeLinter,但所有 3 个都失败了。我总是可以安装 JSLint 默认自带的 brackets,但我想让它在终端中也能运行,可能还有 st3
答案1
问题似乎发生在这里:
/home/felipe/.npm/j slint/0.9.0/package/lib/stream.js:1:80
(不确定那个空间在做什么j slint
...也许值得研究一下?)如果你查看该文件的内容,你应该会看到类似这样的内容:
module.exports = require('readable-stream');
没有什么太革命性的东西,但由于某种原因,你的设置似乎无法解决该依赖关系。你可以做的一件事是在 jslint 文件夹中手动安装它:
cd ~/.npm/jslint/0.9.0/package
npm install
这将找到package.json
jslint 目录中的文件并将其所有依赖项本地安装到node_modules
文件夹中。
如果这不管用,那就真的坏了。在这种情况下,我倾向于将责任归咎于 Ubuntu 的 Node.js 打包,并建议你重新开始,使用 nvm 管理节点。