[MacPorts] #31315: npm: ENOENT, No such file or directory 'ronn.js' (was: npm build fails on MacPorts)

MacPorts noreply at macports.org
Mon Sep 19 00:18:17 PDT 2011


#31315: npm: ENOENT, No such file or directory 'ronn.js'
-------------------------------+--------------------------------------------
 Reporter:  matt@…             |       Owner:  ciserlohn@…           
     Type:  defect             |      Status:  new                   
 Priority:  Normal             |   Milestone:                        
Component:  ports              |     Version:  2.0.3                 
 Keywords:                     |        Port:  npm                   
-------------------------------+--------------------------------------------
Changes (by ryandesign@…):

 * cc: ryandesign@… (added)


Comment:

 Replying to [ticket:31315 matt@…]:
 > Logfile: https://gist.github.com/e9115a90e6a194ecd3de

 Interesting, maybe the fix I attached to #31306 would fix this as well.

 > I got on the node.js IRC channel and talked to the creator of node. He
 didn't catch I was installing with MacPorts at first, but he checked out
 the log I linked above and made a couple comments about how you're
 building npm. He said he's not experienced with MacPorts and wasn't sure
 if these things were the way things work with it. Anyway, his additional
 feedback:
 >
 > {{{
 > :debug:patch Executing command line:  cd
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_npm/npm/work/npm-1.0.30"
 && /usr/bin/patch -p0 <
 '/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/npm/files
 /patch-scripts-doc-build.sh'
 > ^
 > }}}
 > He asked why you need to patch it for a Mac when it's developed on a
 Mac.

 You and he are welcome to examine the patchfile to see what we're doing:

 [browser:trunk/dports/devel/npm/files/patch-scripts-doc-
 build.sh?rev=84119]

 As you see we're only patching the line that determines the version of
 npm. The original source runs "`npm -v`" to do that; that can't possibly
 work in the context of an in-progress MacPorts build since npm won't have
 been installed in its final location by that time and so won't be in PATH
 yet.

 > Also "...why they're running `make docs` when the docs are already up to
 date in the release package.  (or, if they're not getting the release
 package from registry.npmjs.org, why not?)"
 >
 > And last: "anyway, looks like macports is pulilng the git repo, not the
 released tarball. the docs aren't built,

 Right. We're not building from the release package, we're pulling from the
 git repo. (I don't know why; I'll let Christoph address that.) Because
 we're pulling from git, the docs aren't there, so we need to build them.
 And that's what we're doing.

 > so it's failing to build them.

 Why it's failing to build for you is as yet unclear. It builds fine for
 me, on Snow Leopard with Xcode 3.2.6 and on Leopard with Xcode 3.1.4.

 > also unclear as to why it's running "make" rather than "make install"
 but maybe they do that in a second step or something"

 Yes, that's exactly how MacPorts works. The build phase runs "make". The
 subsequent destroot phase (which you didn't get to with npm because the
 build phase failed) would run "make install" (for most ports; the npm port
 in fact overrides this usual destroot and writes its own; again I don't
 know why "make install" was not sufficient.)

-- 
Ticket URL: <https://trac.macports.org/ticket/31315#comment:3>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list